是在linux上工作的FreeLibrary()

is FreeLibrary() working on linux?

本文关键字:FreeLibrary 工作 linux 是在      更新时间:2023-10-16

我正在查看某人的代码(也许是您的代码:D),其中有一个名为FreeLibrary()的函数。

我想知道这个函数是否也适用于linux。事实上,我试着在谷歌上搜索了一下,但只得到了一些与Windows操作系统相关的页面。

如果这个函数不适用于linux,那么linux的等效函数是什么?

基于此处对FreeLibrary()的描述:

http://msdn.microsoft.com/en-us/library/windows/desktop/ms683152%28v=vs.85%29.aspx

Linux中的等效函数是dlclose():

http://manpages.courier-mta.org/htmlman3/dlopen.3.html

FreeLibraryWindows函数描述显示

释放加载的动态链接库(DLL)模块,并在必要时递减其引用计数。当引用计数达到零时,模块将从调用进程的地址空间中卸载,并且句柄不再有效。

Linuxdlclose功能与非常相似

函数dlclose()减少动态库句柄上的引用计数。如果引用计数降至零,并且没有其他加载的库在其中使用符号,则卸载动态库。

网上有许多关于如何使用Linux动态库的例子,例如这一个。