内存泄漏

Posted TiWalker

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了内存泄漏相关的知识,希望对你有一定的参考价值。

内存泄漏检查

1.内存泄漏

内存泄漏的含义就是 申请的内存没有主动释放,就导致泄漏无人主动释放。从本质上来说,大不了内存耗尽,复位重来。但是这个内存泄漏带来的后果会让人觉得无法接受,明明可以避免的嘛。

2.避免内存泄漏
a.在C++1.0之前申请内存主要是malloc/free, new/delete.其中new是针对对象,会在申请内存的基础上,调用对象的构造函数,delete就是释放内存的基础上,调用析构。

b.C++2.0之后引入了智能指针,智能指针增加了引用计数,会在不使用的场景下自动释放。

c.做好代码检视,保证正常申请,正常释放,异常分支也要释放。这个有规律,且人来保证的方向可以交给工具。

针对第三点,看了两篇文章分享给大家:
https://zhuanlan.zhihu.com/p/158370711
https://blog.csdn.net/tjcwt2011/article/details/80271825

注意,要使用这个功能,是要附带编译选项的哈。内存相关的工具常见的也有ASAN等,后面我有学习到总结给大家。

以上是关于内存泄漏的主要内容,如果未能解决你的问题,请参考以下文章

内存溢出和内存泄漏

内存溢出和内存泄漏

内存泄漏和内存溢出

java内存泄漏与处理

关于内存溢出和内存泄漏

如何避免内存泄漏溢出