C dlopen()搜索路径
是否有一种方法可以通过编程确定dlopen()为共享对象搜索哪些路径?我一直认为dlopen()只能在/lib和/usr/lib中查找,但现在我看到在LinuxMint上,像libglib-2.0.so这样的几个核心组件位于完全不同的文件夹中,即在/rofs/lib/i386 GNULinux和其他一些文件夹中。有没有办法了解dlopen()将搜索共享对象的所有路径?我已经检查了环境变量LD_LIBRARY_PATH,但它根本没有定义。查看C dlopen()搜索路径,c,linux,dlopen,C,Linux,Dlopen,是否有一种方法可以通过编程确定dlopen()为共享对象搜索哪些路径?我一直认为dlopen()只能在/lib和/usr/lib中查找,但现在我看到在LinuxMint上,像libglib-2.0.so这样的几个核心组件位于完全不同的文件夹中,即在/rofs/lib/i386 GNULinux和其他一些文件夹中。有没有办法了解dlopen()将搜索共享对象的所有路径?我已经检查了环境变量LD_LIBRARY_PATH,但它根本没有定义。查看ldconfig手册页和文件:/etc/LD.so.co
ldconfig
手册页和文件:/etc/LD.so.conf
以及LD.so.conf
提示:
如果要确保特定库是dlopen
-ed,请将路径传递给dlopen
,例如dlopen(/some/path/to/lib.so),RTLD\u LOCAL)
或dlopen(/lib.so),RTLD\u LOCAL)
,但不要传递给dlopen(“lib.so”,RTLD\u LOCAL)