编写Windows应用程序时,我可以使用以下方法检查当前进程是否加载了特定的dll:
GetModuleHandle(TEXT("Dll Name"));
如何在unix系统中获得相同的功能?也就是说,是否有任何常见的系统调用可以提供有关当前进程(动态)加载的共享对象的一些信息?
答案 0 :(得分:4)
使用dlopen
:
RLTD_NOLOAD
RTLD_NOLOAD
(自glibc 2.2起)这不会加载库。这可以用来测试库是否已经驻留(
dlopen()
如果不是NULL
则返回{{1}},如果是常驻库则返回库的句柄。