跨平台环境下如何确定执行目录
在编程领域,确定程序的执行目录是一项至关重要但依赖于平台和文件系统的任务。 C 和 C 开发人员经常寻求超越这些依赖关系的通用解决方案。
虽然可能没有完全与平台无关的方法,但这里有针对 Windows 和 C 语言的定制解决方案Linux:
Windows:
#include <windows.h> int main() { char pBuf[256]; size_t len = sizeof(pBuf); int bytes = GetModuleFileName(NULL, pBuf, len); printf("Execution directory: %s", pBuf); return 0; }
Linux:
#include <unistd.h> #include <string.h> int main() { char pBuf[256]; size_t len = sizeof(pBuf); int bytes = MIN(readlink("/proc/self/exe", pBuf, len), len - 1); if (bytes >= 0) pBuf[bytes] = ''; printf("Execution directory: %s", pBuf); return 0; }
以上是跨平台C/C程序如何获取执行目录?的详细内容。更多信息请关注PHP中文网其他相关文章!