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



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

如果我加载a.so加载b.so,然后在a.so上调用dlclose,操作系统是否也会卸载b.so

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

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

如果a.so拒绝卸载b.so,那是a.so的问题,您的应用程序对此概不负责。a.so的作者需要齐心协力,解决库的问题。

最新更新