相关疑难解决方法(0)

在没有/ proc/self/exe的情况下查找当前可执行文件的路径

在我看来Linux使用/ proc/self/exe很容易.但我想知道是否有一种方便的方法可以在C/C++中使用跨平台接口查找当前应用程序的目录.我已经看到一些项目与argv [0]混在一起,但它似乎并不完全可靠.

如果你曾经不得不支持Mac OS X,它没有/ proc /,你会做什么?使用#ifdefs隔离特定于平台的代码(例如NSBundle)?或者尝试从argv [0],$ PATH等等推断出可执行文件的路径,冒着在边缘情况下发现错误的风险?

c c++ linux macos executable

183
推荐指数
7
解决办法
10万
查看次数

如何在C中找到可执行文件的位置?

在C/C++中是否有办法找到当前执行程序的位置(完整路径)?

(问题argv[0]在于它没有给出完整的路径.)

c c++ unix linux path

140
推荐指数
6
解决办法
7万
查看次数

如何在WindowsC++/CLI中获取应用程序可执行文件名?

我需要根据可执行文件名更改应用程序的功能.没什么大不了的,只是更改显示的字符串和一些内部标识符.该应用程序是由本机和.Net C++ - CLI代码混合编写的.

我看过的两种方法是在Win32中解析GetCommandLine()函数,并在.Net中填充AppDomain和其他东西.但是,使用GetCommandLine并不总是有效,因为从调试器运行时命令行为空.而.Net AppDomain的东西似乎需要大量的东西.

那么在C++/CLI中确定可执行文件名称的最好/最简单/最有效的方法是什么?(我有点希望我错过了.Net中可用的简单内容.)

编辑:我应该提到的一件事是,这是一个使用C++/CLI的Windows GUI应用程序,因此无法访问传统的C风格主函数,它使用Windows WinMain()函数.

.net winapi c++-cli

19
推荐指数
3
解决办法
3万
查看次数

标签 统计

c ×2

c++ ×2

linux ×2

.net ×1

c++-cli ×1

executable ×1

macos ×1

path ×1

unix ×1

winapi ×1