在沒有/proc/Self/exe的情況下查找當前可執行文件的路徑在我看來,Linux很容易使用/proc/Self/exe。但是,我想知道是否有一種方便的方法可以在C/C+中找到具有跨平臺接口的當前應用程序的目錄。我見過一些項目與argv[0]混在一起,但看起來并不完全可靠。如果您必須支持MacOSX,它沒有/proc/,您會怎么做?使用#ifdefs隔離特定于平臺的代碼(例如NSBundle)?或者嘗試從argv[0]、$path和諸如此類推斷可執行文件的路徑,這樣可能會在邊緣情況下發現bug?
3 回答
慕容708150
TA貢獻1831條經驗 獲得超4個贊
MacOSX: Linux: Solaris: FreeBSD: FreeBSD 如果
它有以下方案: readlink /proc/curproc/file(FreeBSD默認沒有profs) NetBSD: readlink /proc/curproc/exe蜻蜓BSD: readlink /proc/curproc/file窗戶: 帶著 hModule=NULL
argv[0]$PATH.
_"getenv("_")
- 3 回答
- 0 關注
- 1822 瀏覽
添加回答
舉報
0/150
提交
取消
