在我看来Linux使用/ proc/self/exe很容易.但我想知道是否有一种方便的方法可以在C/C++中使用跨平台接口查找当前应用程序的目录.我已经看到一些项目与argv [0]混在一起,但它似乎并不完全可靠.
如果你曾经不得不支持Mac OS X,它没有/ proc /,你会做什么?使用#ifdefs隔离特定于平台的代码(例如NSBundle)?或者尝试从argv [0],$ PATH等等推断出可执行文件的路径,冒着在边缘情况下发现错误的风险?
在C/C++中是否有办法找到当前执行程序的位置(完整路径)?
(问题argv[0]在于它没有给出完整的路径.)
在我工作的C/Unix环境中,我看到一些开发人员使用__progname而不是argv[0]使用消息.这有什么好处吗?__progname和之间的区别是什么argv[0].它是便携式的吗?