在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經過這兩步我們的控制臺程序就已經可以自動檢測內存泄漏了,不信?你自己試試不就知道了!:)


