【发布时间】:2019-01-03 10:25:21
【问题描述】:
我想使用 dlopen 函数从我的程序中加载一些依赖库。是否有可能知道这些库的实际位置?
例如,ldd 显示系统中所有带有路径的依赖库。它是如何工作的?是否可以通过我的 C++ 代码中的一些调用获取我需要使用 dlopen 加载的对应库的路径?
【问题讨论】:
-
您要加载的是“已安装”的库吗?
-
ldd 使用 LD_LIBRARY_PATH 获取所需库的路径,对于 dlopen,它可以位于文件系统上的任何位置。
-
是的。例如,它可能是我在某些时候并不总是需要的某种运行时库(例如 nvidia cuda)。
标签: c++ linux shared-libraries executable