可执行文件能否发现自己的路径? (Linux)

标签 c linux

<分区>

Possible Duplicate:
how to find the location of the executable in C

我希望可执行文件能够发现自己的路径;我感觉答案是“你不能这样做”,但我希望这一点得到证实!

我认为我不能使用 getcwd(),因为我可能不会从同一目录执行它。我不认为我可以使用 argv[0],因为它基于用于执行它的字符串。还有其他选择吗?

基本原理

真正的问题是我想将一个可执行文件放在文件系统的某处,并在其旁边放置一个默认配置文件。我希望可执行文件能够在运行时读取其配置文件,但我不想将此位置硬编码到可执行文件中,也不希望用户必须设置环境变量。如果有更好的解决方案来解决这种情况,我会洗耳恭听...

最佳答案

文件/proc/self/exe 是当前运行的可执行文件的 simlink。

关于可执行文件能否发现自己的路径? (Linux),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4025370/

相关文章:

c - 我怎样才能在pam中获取客户端ip

c - 执行结束时修改文件内容

c - 周期最长的随机数算法是什么?

c++ - 除了尾递归之外的尾调用优化?

mysql - 在 Debian VPS 上安装 Apache & 未满足的依赖项错误

linux - 当我尝试创建符号链接(symbolic link)时链接断开

python - Python 中的持久终端 session

linux - 在特定列中具有相同值的行的总值

c - 在 C 编程中还是在进行时?

uint8_t 到字符串的转换 [C]