zoukankan      html  css  js  c++  java
  • MFC误报内存泄露的修复

    在debug状态退出程序的时候,VS会在输出窗口列出可能的内存泄露的地方。

    MFC中使用DEBUG_NEW能够更方便的定位泄露的地点。但假如MFC的dll释放“”过早“”,DEBUG_NEW记录的内存分配信息就会不灵了。

    那什么情况下导致MFC的DLL过早释放呢?

    有这样一种情况:以#pragma comment(lib, _LIBNAME_)方式link一个依赖MFC的lib。

    比如在使用BCGControlbar界面库的时候,默认是使用这样的方式。


    如何避免MFC的DLL过早释放?

    在Additional Dependencies里面把mfc100ud.lib放在第一个的位置。

    这样就符合先加载后释放的规则。


    另外#pragma comment(lib, _LIBNAME_)虽然减少了设置project的lib依赖的步骤,但最好还是使用显示的link依赖,起码我们会更清楚dll的加载顺序。

  • 相关阅读:
    php
    php
    linux 网络管理基础 OSI ISO IOS的区别
    Linux 添加交换分区的步骤
    linux 命令
    linux命令
    linux 命令
    linux 命令
    Linux命令
    linux命令- 挂载命令 mount
  • 原文地址:https://www.cnblogs.com/aiwz/p/6333091.html
Copyright © 2011-2022 走看看