在mfc的dll中提供自己DllMain

概述

  • 按照设计,MFC 的规则 Dll 具有 MFC 将自动提供一个默认 DllMain 函数。规则 Dll 不应提供自己 DllMain。应在规则 DLL 中的一个 CWinApp 派生类的 InitInstance 成员函数 DLL 加载时需要的任何初始化。取消初始化和终止代码应放在 ExitInstance 成员函数中

重写流程

  • 第一步: 找到vs的mfc源码,我的路径如下C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.32.31326\atlmfc\src\mfc
  • 第二步: 拷贝dllmodul.cpp到自己的mfc的dll项目中
  • 第三步: 添加头文件包含路径
    • 项目 – 属性 – VC++目录 – 包含目录 – 新增一个路径到上面的mfc
      我的方法是拷贝mfc目录到项目中
      配置如下: $(LocalDebuggerWorkingDirectory)mfc
  • 第四步: 注释掉dllmodul.cpp中的AfxCriticalTerm(); // 我没有找到该函数的定义

你可能感兴趣的:(mfc,c++)