亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

在沒有/proc/Self/exe的情況下查找當前可執行文件的路徑

在沒有/proc/Self/exe的情況下查找當前可執行文件的路徑

C++ C
鳳凰求蠱 2019-06-17 16:56:26
在沒有/proc/Self/exe的情況下查找當前可執行文件的路徑在我看來,Linux很容易使用/proc/Self/exe。但是,我想知道是否有一種方便的方法可以在C/C+中找到具有跨平臺接口的當前應用程序的目錄。我見過一些項目與argv[0]混在一起,但看起來并不完全可靠。如果您必須支持MacOSX,它沒有/proc/,您會怎么做?使用#ifdefs隔離特定于平臺的代碼(例如NSBundle)?或者嘗試從argv[0]、$path和諸如此類推斷可執行文件的路徑,這樣可能會在邊緣情況下發現bug?
查看完整描述

3 回答

?
慕容708150

TA貢獻1831條經驗 獲得超4個贊

一些特定于操作系統的接口:

可移植(但不太可靠)的方法是使用argv[0]..雖然調用程序可以將其設置為任何內容,但按照慣例,它被設置為可執行文件的路徑名或使用$PATH.

一些炮彈,包括bash和ksh,設置環境變量“_"執行可執行文件的完整路徑。在這種情況下,您可以使用getenv("_")為了得到它。但是,這是不可靠的,因為并不是所有的shell都會這樣做,而且它可以設置為任何東西,或者是在執行程序之前沒有改變它的父進程留下的。


查看完整回答
反對 回復 2019-06-17
?
尚方寶劍之說

TA貢獻1788條經驗 獲得超4個贊

檢查一下在哪里庫來自GregoryPakosz(它只有一個C文件);它允許您在各種平臺上獲得當前可執行文件的完整路徑。目前,它可以在GitHub上作為回購工具使用。這里.


查看完整回答
反對 回復 2019-06-17
  • 3 回答
  • 0 關注
  • 1822 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號