如何找出使用的内存量

时间:2012-07-01 12:34:42

标签: c++ c profiling heap-memory dynamic-allocation

我正在尝试一个C / C ++程序,我想知道由于堆和其他一些数据结构我使用了多少内存。那么如何才能找出各种数据结构所使用的内存量呢?

我认为应该覆盖malloc运算符,但我不确定是否相同 我正在使用Linux和Netbeans 7.1。

2 个答案:

答案 0 :(得分:1)

您可以在类似问题中推荐使用像Valgrind这样的c ++内存分析器。 见this

对于netbeans IDE,请查看this

答案 1 :(得分:0)

如果您想使用手工制作的内存分析,则需要重载operator new和/或malloc()函数。虽然malloc()可以轻松超载,但您需要使用宏技巧。

使用和重载operator new的优势在于,它更简单,更优雅,您可以单独评估每种类型的struct / class