浅谈C_C++内存泄漏及其检测工具.pdfVIP

  • 6
  • 0
  • 约1.38万字
  • 约 16页
  • 2017-08-30 发布于安徽
  • 举报
浅谈 C/C++内存泄漏及其检测工具 对于一个 c/c++程序员来说,内存泄漏是一个常见的也是令人头疼的问题。已经有许多技术被研究出 来以应对这个问题,比如 Smart Pointer,Garbage Collection 等。Smart Pointer 技术比较成熟,S TL 中已经包含支持 Smart Pointer 的 class,但是它的使用似乎并不广泛,而且它也不能解决所有的问 题;Garbage Collection 技术在 Java 中已经比较成熟,但是在 c/c++领域的发展并不顺畅,虽然很早 就有人思考在 C++中也加入 GC 的支持。现实世界就是这样的,作为一个 c/c++程序员,内存泄漏是你 心中永远的痛。不过好在现在有许多工具能够帮助我们验证内存泄漏的存在,找出发生问题的代码。 内存泄漏的定义 一般我们常说的内存泄漏是指堆内存的泄漏。堆内存是指程序从堆中分配的,大小任意的(内存块的 大小可以在程序运行期决定),使用完后必须显示释放的内存。应用程序一般使用 malloc,realloc,ne w 等函数从堆中分配到一块内存,使用完后,程序必须负责相应的调用 free 或 delete 释放该内存块,否 则,这块内存就不能被再次使用,我们就说这块内存泄漏了。以下这段小程序演示了堆内存发生泄漏的情 形:

文档评论(0)

1亿VIP精品文档

相关文档