在VC编译器下的做法:
在每个头文件中加入:
#ifdef _DEBUG
#define new DEBUG_NEW
#undef THIS_FILE
static char THIS_FILE[] = __FILE__;
#endif
在main函数开头加入:
int tmpFlag = _CrtSetDbgFlag( _CRTDBG_REPORT_FLAG );
tmpFlag |= _CRTDBG_LEAK_CHECK_DF;
_CrtSetDbgFlag( tmpFlag );
在DEBUG模式下运行程序,程序运行完毕后在输出窗口会显示内存泄露的信息及定位。