c++检查内存泄漏
使用_CrtDumpMemoryLeaks()函数检查内存泄漏
1 #include <cstdio> 2 #include <cstdlib> 3 #include <crtdbg.h> 4 5 #ifdef _DEBUG //这个要加上,否则不会输出定义到哪个文件中(及不包含存在内存泄露的该cpp文件的相关信息) 6 #define new new(_NORMAL_BLOCK, __FILE__, __LINE__) 7 #endif 8 9 int main() 10 { 11 _CrtSetDbgFlag(_CRTDBG_LEAK_CHECK_DF | _CrtSetDbgFlag(_CRTDBG_REPORT_FLAG)); 12 _CrtDumpMemoryLeaks(); 13 14 int *a = new int[10]; 15 16 //delete a; 17 18 system("pause"); 19 return 0; 20 }
若存在内存泄漏,在Output信息中会指出内存泄漏的cpp文件。
兴趣是最好的导师