有一个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中打印吗?有没有其他的可能?