在开源代码的基础上写一个网络通信软件,主程序完全一样,在关闭程序时,在MFC下出现内存泄漏问题,而在控制台下就不出现,请问什么原因?

解决方案 »

  1.   

    MFC下软件关得很慢,内存泄漏很严重,控制台下软件关得很快,也不显示内存泄漏啊
      

  2.   

    请问是不是vc哪可以设置一下,不然MFC程序和控制台程序怎么相差这么远啊?
      

  3.   

    没明白楼主的意思,软件分为两种,一种是WIN32程序一种是控制台程序,MFC只是一套类库(在WIN32和控制台程序中均可以使用用),不是运行平台。不明白楼主说的在MFC下运行是什么意思
      

  4.   

    都是在win32下,就是一个用了MFC库写了窗口,一个没用MFC库,就写了个控制台输出
      

  5.   

    http://www.bchappy.cn/thread-1556-1-1.html_CrtDumpMemoryLeaks()
      

  6.   

    可能源码有问题,
    以前没有暴露出来

    也可能是MFC释放时出问题了。
    很难具体定位
      

  7.   

    MFC的问题,看看是不是CString的用法,比如没有ReleaseBuffer之类的
      

  8.   

    MFC 有个宏为DEBUG_NEW  重载了全局new运算符 对你的应用程序进行内存检测 如果你有资源没有释放就会想你说的那样输出很多内存地址提示给你 然后普通控制台程序没有内存检测 当然也不会提示那些内存泄露的信息
      

  9.   

    1、在文件里面包含如下预处理:#define _CRTDBG_MAP_ALLOC ----这个宏可以让内存泄露的打印携带文件名和行号
    #include <stdlib.h> 
    #include <crtdbg.h>2、在程序退出的地方:
        //内存泄漏检测
        _CrtDumpMemoryLeaks();