替换不推荐的boost文件系统初始路径

替换不推荐的boost文件系统初始路径,boost,filesystems,deprecated,Boost,Filesystems,Deprecated,正如标题所说,我正在寻找一种方法来完成初始路径()。 正如您在这里看到的,没有替代品: 为什么不自己用一些变量来记住它呢?你为什么需要boost来处理这个问题?正如他们在文档中所说,这是由用户负责的。您是否在寻找一种获得可执行文件完整路径的方法 读这个 我想答案如下(感谢迈克) 好的,但是如何获得初始静态全局变量呢。使用当前路径?好的,tnx。他们删除它可能是因为它不是线程安全的,AFAIK.Tnx,但我需要一种可移植的方式,这就是为什么我使用boost[/commercial:P] Here'

正如标题所说,我正在寻找一种方法来完成初始路径()。 正如您在这里看到的,没有替代品:
为什么不自己用一些变量来记住它呢?你为什么需要boost来处理这个问题?正如他们在文档中所说,这是由用户负责的。

您是否在寻找一种获得可执行文件完整路径的方法

读这个

我想答案如下(感谢迈克)


好的,但是如何获得初始静态全局变量呢。使用当前路径?好的,tnx。他们删除它可能是因为它不是线程安全的,AFAIK.Tnx,但我需要一种可移植的方式,这就是为什么我使用boost[/commercial:P]
Here's code to get the full path to the executing app:

Windows:

int bytes = GetModuleFileName(NULL, pBuf, len);
if(bytes == 0)
        return -1;
else
        return bytes;

Linux:

char szTmp[32];
sprintf(szTmp, "/proc/%d/exe", getpid());
int bytes = MIN(readlink(szTmp, pBuf, len), len - 1);
if(bytes >= 0)
        pBuf[bytes] = '\0';
return bytes;