有关C ++内存泄漏的好资源/书籍?

时间:2011-05-03 15:47:23

标签: c++ memory-leaks

我正在寻找一本好的资源/书来了解C ++中的内存泄漏。 我使用Linux Ubuntu和QtCreator作为IDE(有没有办法在那里看到它们?)。

2 个答案:

答案 0 :(得分:3)

什么是内存泄漏?
当计算机程序占用内存但无法将其释放回操作系统时,会发生内存泄漏。在C / C ++中,只要程序在堆上分配动态内存,它也应该释放相同的内存,否则会导致内存泄漏。

在C中,使用函数malloc在Heap上分配动态内存,通过显式调用函数free来回收相同的内存。

在C ++中,使用运算符newnew[]在Heap上分配动态内存,同样通过deletedelete[]回收。

有关内存泄漏的更多信息?
您可以找到许多在线教程和书籍,以了解有关遇到内存泄漏的各种常见场景的更多信息 Here是一个非常有价值的在线教程。

如何检测到内存泄漏?
各种商业和开源工具可用于检测各种平台的内存泄漏和内存损坏。既然你特意要求Linux平台。 您可以使用Valgrind这是Linux中非常有效的内存泄漏检测工具。

答案 1 :(得分:1)

使用任何优秀的C ++书籍/资源。 了解有关动态分配内存的所有信息以及与自动变量的区别。

通过良好的软件设计可以避免大部分内存泄漏。

当您在代码中遇到内存泄漏时,您必须使用您对它们的了解以及 Valgrind 等工具来检测和收集有关它们的信息。