首頁 > 後端開發 > C++ > 如何跨平台可靠地檢索可執行路徑?

如何跨平台可靠地檢索可執行路徑?

Linda Hamilton
發布: 2025-01-03 01:50:39
原創
575 人瀏覽過

How Can I Reliably Retrieve the Executable Path Across Different Platforms?

可執行路徑的跨平台檢索

過去證明,實現與平台無關的可執行路徑檢索是難以實現的。儘管之前進行過詢問,但尚未得出明確的解決方案或明確的「不可能」結論。

平台特定的解決方案

雖然通用解決方案仍然難以捉摸,但平台- 存在特定方法:

  • Linux: 使用「/proc/self/exe」作為std::filesystem::canonical 或readlink 函數的輸入。
  • Windows: 將 NULL 作為模組句柄參數傳遞給 GetModuleFileName。

食人魔並且非常困:

在Very Sleepy 分析的Ogre 遊戲的特定情況,可以將設定檔的絕對路徑傳遞給Very Sleepy。這確保遊戲可以找到文件,無論工作目錄如何。

Visual Studio 偵錯:

要執行可執行檔而不在 Visual Studio 中設定工作目錄,請使用 $ (TargetPath) 並將 NULL 傳遞給 GetModuleFileName。

其他注意:

其他方法可能適用於特定係統,但可能無法移植。建議在生產環境中依賴任何解決方案之前對其進行徹底測試。

以上是如何跨平台可靠地檢索可執行路徑?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
作者最新文章
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板