共享MFC dll 没有自动生成 dllmain 如何重写
如果你使用Visual Studio创建MFC DLL项目时没有自动生成dllmain.cpp文件,你可以手动创建并重写DllMain函数。以下是一些步骤:
- 在你的MFC DLL项目中创建一个新的源文件,命名为
dllmain.cpp。 - 在
dllmain.cpp文件中,添加以下代码来定义DllMain函数:
#include <afxwin.h>
BOOL APIENTRY DllMain(HMODULE hModule, DWORD ul_reason_for_call, LPVOID lpReserved)
{
switch (ul_reason_for_call)
{
case DLL_PROCESS_ATTACH:
// DLL加载时执行的代码
break;
case DLL_THREAD_ATTACH:
// 线程创建时执行的代码
break;
case DLL_THREAD_DETACH:
// 线程结束时执行的代码
break;
case DLL_PROCESS_DETACH:
// DLL卸载时执行的代码
break;
}
return TRUE;
}
- 在
DllMain函数中的不同ul_reason_for_call情况下,你可以编写相应的代码来执行特定的操作。例如,在DLL_PROCESS_ATTACH情况下,你可以初始化MFC框架,创建全局对象等。
注意:在dllmain.cpp文件中,你需要包含afxwin.h头文件,以便使用MFC的相关功能。
- 在项目属性中,确保将
dllmain.cpp添加到编译器的源文件列表中。
完成上述步骤后,你就可以在DllMain函数中编写自定义的初始化和清理代码,以满足你的需求。
原文地址: https://www.cveoy.top/t/topic/hQYd 著作权归作者所有。请勿转载和采集!