如果从dlopen'd库中调用dlopen(),是否存在负载泄漏?

Kie*_*etz 6 c++ dynamic-loading dlopen

如果我的可执行文件调用dlopen加载库但忽略调用dlclose,则库将保持加载状态,直到进程退出并且操作系统强制它卸载.

如果我加载a.so它会加载b.so,然后调用dlclosea.so,并在OS卸载b.so呢?

这与使用Microsoft等效的类似场景相比如何LoadLibraryEx

Pau*_*zie 3

应用程序只需要关心应用程序直接加载的内容。如果您加载a.so,您只需关心卸载即可a.so

如果a.so拒绝卸载b.so,那就是问题a.so,你的应用程序对此不承担任何责任。作者a.so需要齐心协力解决图书馆的问题。