VC控制台内存泄露检查机制

        在VC中,基于MFC框架的应用程序由模板生成时,已经自动添加了内存泄漏自动检测功能。当你的程序有内存泄漏,在Debug调式模式下运行就会在vc的输出窗口里显示出来,非常方便我检查程序漏洞。但是当我写一些测试程序时,往往喜欢用控制台程序来编写,但是控制台程序不会自动添加内存泄漏自动检测功能。我在网上搜索了下,找到了添加的方法,经过我的整理把他写出来,希望对我们都有用!

第一步:在程序里定下一下宏(建议定义在stdafx.h头文件中)

#ifdef _DEBUG
 //for memory leak check
 #define _CRTDBG_MAP_ALLOC //使生成的内存dump包含内存块分配的具体代码为止
 #include <stdlib.h> 
 #include <crtdbg.h>
 #define CheckMemoryLeak _CrtSetDbgFlag( _CrtSetDbgFlag( _CRTDBG_REPORT_FLAG )| _CRTDBG_LEAK_CHECK_DF)
#endif 

第二步:在程序的入口处(就是main函数的开头)写如下语句

#ifdef _DEBUG
 CheckMemoryLeak;
#endif

经过这两步我们的控制台程序就已经可以自动检测内存泄漏了,不信?你自己试试不就知道了!:)

转载自: 给VC的控制台程序添加内存泄漏自动检测功能

猜你喜欢

转载自blog.csdn.net/kingzhang2000/article/details/73163878