关于使用LoadLibrary加载dll文件的有关问题
关于使用LoadLibrary加载dll文件的问题
有一个DLL,不是我自己写的,所以我不知道里面时怎么实现的,但是,今天在使用时,有一个问题,很奇怪。
int APIENTRY _tWinMain(HINSTANCEhInstance,
HINSTANCE hPrevInstance,
LPTSTR lpCmdLine,
int nCmdShow)
{
UNREFERENCED_PARAMETER(hPrevInstance);
UNREFERENCED_PARAMETER(lpCmdLine);
printf("\r\n\r\n************************************************************\r\n");
printf("Enter into main()\r\n");
// TODO: 在此放置代码。
HINSTANCE his = LoadLibrary(L"abcd.dll");
printf("\r\nhis:0x%X\r\n", his);
while (1)
{
Sleep(1000);
}
return 0;
}
结果打印信息如下:

而如果我把代码中的
HINSTANCE his = LoadLibrary(L"abcd.dll");
屏蔽掉,打印信息如下:

我的问题是:
LoadLibrary加载一个DLL文件,到底做了什么?因为abcd.dll文件不是我写的,我没有代码,各位前辈,你们觉得,仅仅调用了下LoadLibrary函数加载一个DLL文件,什么样的情况下可能出现上面的打印信息?是在DLLmain中打印吗?有没有其他的可能?
------解决思路----------------------
你可以简单的认为是在 dll 初始化里打印的。这有可能是全局资源的初始化,也可能是 dllmain 里面的代码。
------解决思路----------------------
可能里面有个全局对象,这些信息在构造函数里面输出
有一个DLL,不是我自己写的,所以我不知道里面时怎么实现的,但是,今天在使用时,有一个问题,很奇怪。
int APIENTRY _tWinMain(HINSTANCEhInstance,
HINSTANCE hPrevInstance,
LPTSTR lpCmdLine,
int nCmdShow)
{
UNREFERENCED_PARAMETER(hPrevInstance);
UNREFERENCED_PARAMETER(lpCmdLine);
printf("\r\n\r\n************************************************************\r\n");
printf("Enter into main()\r\n");
// TODO: 在此放置代码。
HINSTANCE his = LoadLibrary(L"abcd.dll");
printf("\r\nhis:0x%X\r\n", his);
while (1)
{
Sleep(1000);
}
return 0;
}
结果打印信息如下:
而如果我把代码中的
HINSTANCE his = LoadLibrary(L"abcd.dll");
屏蔽掉,打印信息如下:
我的问题是:
LoadLibrary加载一个DLL文件,到底做了什么?因为abcd.dll文件不是我写的,我没有代码,各位前辈,你们觉得,仅仅调用了下LoadLibrary函数加载一个DLL文件,什么样的情况下可能出现上面的打印信息?是在DLLmain中打印吗?有没有其他的可能?
------解决思路----------------------
你可以简单的认为是在 dll 初始化里打印的。这有可能是全局资源的初始化,也可能是 dllmain 里面的代码。
------解决思路----------------------
可能里面有个全局对象,这些信息在构造函数里面输出