Linux 获取已加载动态库的句柄

Linux 获取已加载动态库的句柄,linux,macos,gcc,dylib,Linux,Macos,Gcc,Dylib,假设我加载一个动态库并放弃句柄: void loadfoo() { dlopen("/lib/foo.dylib" , RTLD_NOW); } 然后我想在另一个函数中关闭它: void closefoo() { dlclose // ??? } 如果调用dlopen时没有保存以前加载的动态库,我能找到它的句柄吗?如果我在生产中看到这样的代码,我会永远鄙视发起者,但是: void *handle = dlopen("/lib/foo.dylib", RTLD_NOW); dl

假设我加载一个动态库并放弃句柄:

void loadfoo()
{
    dlopen("/lib/foo.dylib" , RTLD_NOW);
}
然后我想在另一个函数中关闭它:

void closefoo()
{
    dlclose // ???
}

如果调用
dlopen
时没有保存以前加载的动态库,我能找到它的句柄吗?

如果我在生产中看到这样的代码,我会永远鄙视发起者,但是:

void *handle = dlopen("/lib/foo.dylib", RTLD_NOW);
dlclose(handle);
dlclose(handle);