43 C++ 额外篇,内存泄漏的处理办法

在实际开发中,项目大的情况下,我们需要借助工具来查看代码中是否有内存泄漏。

C语言提供了很多工具,一部分的原理是通过重新定义malloc函数和 delete函数来完成,看了下源码,大概的意思是通过define 来重新定义这两函数,当程序员在调用的时候不是直接调用 系统自带的malloc 函数和 delete函数,而是调用自己写的mymalloc和 mydelete函数。在调用的时候加上调用的代码的文件行数,分配空间大小等,然后记录到一个文件中,在调用mydelete的时候,如果有对应的,就会删除,如果没有对应的,那么程序运行完成后查看对应的文件,就知道有没有内存泄漏了。

目的

本文讨论的是再开发时,也就是您再写代码的时候,对于一个小的知识点写完成后,怎么看有没有内存泄漏。

安装工具

借助工具是VS2017的MFC,如果没有安装MFC,请先安装,参考这哥们的安装方法:

vs2017 安装MFC_vs2017安装mfc步骤-CSDN博客




 

如何使用

在安装MFC后,要新建一个MFC工程

43 C++ 额外篇,内存泄漏的处理办法_第1张图片

43 C++ 额外篇,内存泄漏的处理办法_第2张图片

43 C++ 额外篇,内存泄漏的处理办法_第3张图片

然后点击完成

找到MFCApplication2Dlg.cpp 文件中的 OnInitDialog方法

在这个方法中添加您要测试的代码

43 C++ 额外篇,内存泄漏的处理办法_第4张图片

例子

43 C++ 额外篇,内存泄漏的处理办法_第5张图片

等待运行起来后,点击确定

43 C++ 额外篇,内存泄漏的处理办法_第6张图片

然后再 输出  窗口就能看到哪里有内存泄漏了。

43 C++ 额外篇,内存泄漏的处理办法_第7张图片

你可能感兴趣的:(c++)