【问题标题】:MFC canned DllMain does not call ExitInstance for DLL_PROCESSS_DETACH?MFC 罐头 DllMain 不为 DLL_PROCESSS_DETACH 调用 ExitInstance?
【发布时间】:2009-03-26 21:26:59
【问题描述】:

MFC 8.0 的固定 DllMain 在获得 DLL_PROCESS_DETACH 时似乎没有调用 ExitInstance。一种可能的解决方案是定义我自己的 DllMain,但我如何告诉链接器使用我的而不是 MFC?

或者,我不知道是否有另一个在 DLL_PROCESS_DETACH 上调用的覆盖?

【问题讨论】:

    标签: windows dll mfc dynamic-linking


    【解决方案1】:

    我在使用 /clr 编译的项目中遇到过类似的问题。你有同样的情况吗?我永远无法将其跟踪到特定条件,但是将一些静态初始化程序更改为设置 null 清除了它。我认为这与静态析构函数的注册顺序有关。

    【讨论】:

    • 用/clr编译;我明天一定要检查一下。
    【解决方案2】:

    我不确定为什么不调用您的 ExitInstance,但是可以通过将 MFC 的 dllmodul.cpp 文件的内容复制到您的 dll 中的文件中并添加任何额外的必需功能来定义您自己的 DllMain。该过程记录在this MS knowledge base article 中。虽然它是为 MFC 4.0 编写的,但我已经成功地将这种方法用于使用 MFC 8.0 的应用程序。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-12-12
      • 1970-01-01
      • 1970-01-01
      • 2023-04-04
      • 1970-01-01
      • 2011-02-10
      相关资源
      最近更新 更多