我有一个c ++ .so文件,所以我从python中调用它。我想从c ++代码获得.so文件自己的位置。我使用了getcwd和readlink。他们返回运行目录的python代码。有人知道这个问题吗?请帮助我,谢谢。
我的.so文件位置是:/home/user/cpp/test.so
我的python代码位置是:/home/user/python/test.py
getcwd,readlink的输出是:/ home / user / python(我想得到“/ home / user / cpp”)
答案 0 :(得分:0)
通常,查找可执行文件的共享库依赖项及其路径的最简单/最有效的方法是使用"ldd"命令。
如果您想以编程方式获取此信息,则可能是dl_iterate_phdr
另一个是检查/ proc / - pid - / maps:
http://www.unix.com/programming/34498-how-view-loaded-shared-libraries-running-processes-linux.html