我正在使用
LoadLibrary
函数在Windows中加载DLL.我的问题是:如果我为同一个DLL多次调用此方法,我是否获取DLL的不同实例的句柄,还是它们都引用同一个实例?
此外,这种行为与Linux SO文件有何关联,它是相同还是完全不同,我可以在这方面做出哪些假设?谢谢.
解决方法
MSDN文档说明:
The system maintains a per-process reference count on all loaded
modules. Calling LoadLibrary increments the reference count. Calling
the FreeLibrary or FreeLibraryAndExitThread function decrements the
reference count. The system unloads a module when its reference count
reaches zero or when the process terminates (regardless of the
reference count).
因此,似乎多次加载模块(没有匹配对FreeLibrary的调用)将返回相同的句柄.