在VS2012中添加部分代碼,可以起到檢測內存洩露的作用。
今天剛剛收到的解決辦法,原理還不是很清楚。先分享出來
1. 頭文件中添加以下代碼
#ifdef _DEBUG #define DEBUG_CLIENTBLOCK new( _CLIENT_BLOCK, __FILE__, __LINE__) #else #define DEBUG_CLIENTBLOCK #endif #define _CRTDBG_MAP_ALLOC #include <stdlib.h> #include <crtdbg.h> #ifdef _DEBUG #define new DEBUG_CLIENTBLOCK #endif /* 何問起 hovertree.com */
2. main函數中添加
_CrtSetDbgFlag(_CRTDBG_ALLOC_MEM_DF|_CRTDBG_LEAK_CHECK_DF); /* 何問起 hovertree.com */
程序在DEBUG模式下運行時,就可以在輸出窗口中看到可能出現的內存洩露信息
推薦:http://www.cnblogs.com/roucheng/p/cpphong.html