假设我加载了一个dylib并丢弃了句柄:
void loadfoo()
{
dlopen("/lib/foo.dylib" , RTLD_NOW);
}
然后我想在另一个功能中关闭它:
void closefoo()
{
dlclose // ???
}
如果在调用dlopen
期间没有保存,那么我能以某种方式找到先前加载的dylib的句柄吗?
答案 0 :(得分:2)
如果我在生产中看到这样的代码,我会让发端人永远蔑视,但是:
void *handle = dlopen("/lib/foo.dylib", RTLD_NOW);
dlclose(handle);
dlclose(handle);