我有A.DLL和B.DLL
使用 VS 2010,我在A.DLL项目的 C++ 函数中设置断点,并使用procexp.exe查看当前加载的 DLL。很明显,A.DLL是加载的。
我需要B.DLL从这个函数调用。注意:B.DLL对A.DLL. 这个库被称为A.LIB
使用LoadLibrary,我执行以下语句:
HANDLE hLib = LoadLibrary("B.DLL");
执行完这一行后,我再次查看procexp.exe。A.DLL加载了两次!!如果我删除对 的A.LIB依赖B.DLL,这将不会发生。Process Explorer 报告这两个实例A.DLL具有不同的基地址,因此它们实际上是不同的模块。
我的问题是为什么这会加载另一个实例A.DLL?它是否有可能实现A.DLL已经加载?