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文件。

原文地址:https://www.cnblogs.com/DLarTisan/p/7093975.html