当您显式链接已经隐式链接的库时,会发生什么?

如果foo.dll在编译时已隐式链接,但在运行时通过Loadlibrary再次加载,则应用程序是否会获得foo.dll的新实例,还是从隐式加载可执行文件时的同一实例? / p>

yuzisheng 回答:当您显式链接已经隐式链接的库时,会发生什么?

LoadLibrary将返回相同的实例句柄,但不执行任何操作;

LoadLibrary

  

系统维护所有已加载的每个进程的引用计数   模块。调用LoadLibrary会增加引用计数。呼唤   FreeLibrary或FreeLibraryAndExitThread函数减少   参考计数。当其引用计数时,系统将卸载模块   达到零或进程终止时(无论   参考计数)。

     

如果指定的模块是尚未为DLL加载的DLL   调用过程中,系统使用以下命令调用DLL的DllMain函数   DLL_PROCESS_ATTACH值。

本文链接:https://www.f2er.com/3112419.html

大家都在问