在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
2. main函数中添加
_CrtSetDbgFlag(_CRTDBG_ALLOC_MEM_DF|_CRTDBG_LEAK_CHECK_DF);
程序在DEBUG模式下运行时,就可以在输出窗口中看到可能出现的内存泄露信息