dlopen()搜索路径

时间:2011-11-19 11:12:41

标签: c linux dlopen

有没有办法以编程方式找出dlopen()搜索共享对象的路径?我一直以为dlopen()只会查看/ lib和/ usr / lib但是现在我已经看到Linux Mint上的几个核心组件如libglib-2.0.so在一个完全不同的文件夹中,即在/ rofs / lib /中i386-gnu-linux和其他一些。有没有办法了解dlopen()将搜索共享对象的所有这些路径?我已经检查了环境变量LD_LIBRARY_PATH但它根本没有定义。

2 个答案:

答案 0 :(得分:8)

查看ldconfig手册页和文件:/etc/ld.so.conf

答案 1 :(得分:2)

除了ld.so.conf提示:

如果您想确保特定的库dlopen已编辑,请将路径传递给dlopen,例如dlopen("/some/path/to/lib.so", RTLD_LOCAL)dlopen("./lib.so", RTLD_LOCAL)但不是dlopen("lib.so", RTLD_LOCAL)