【发布时间】:2015-08-17 15:01:17
【问题描述】:
我的目的是在每个平台(Windows、Mac Os x、Linux)中使用相同的代码获取正在运行的可执行文件的名称。
每个平台都有单独的代码来查找可执行文件的名称。
在 Windows 中有 GetModuleFileName() 函数来获取可执行文件的名称,但它适用于 Visual Studio。
我也用argv[0]来获取当前可执行文件的路径。
我正在使用gcc 编译器,我需要生成适用于所有平台(Windows、Mac Os x、Linux)的代码来获取正在运行的可执行文件的名称。
【问题讨论】:
-
什么是
arg[0]?不过,我听说过argv[0]。 (开个玩笑):P -
好吧,您知道
argv[0]会为您提供信息,而且确实如此。有什么问题? -
我想要运行中的可执行文件名,它适用于所有平台
-
@AnandSukumar
argv是标准的,适用于所有平台。 -
可执行文件的路径名只能通过不同系统上的(不同)迂回方式找到。它不一定在
argv[0]中。我相信它总是可行的。我也可以肯定在 SO 的某个地方还有关于该主题的另一个问题——我找到了它(收藏夹有它们的用途);我已将其作为副本关闭。