标签: c++ c profiling heap-memory dynamic-allocation
我正在尝试一个C / C ++程序,我想知道由于堆和其他一些数据结构我使用了多少内存。那么如何才能找出各种数据结构所使用的内存量呢?
我认为应该覆盖malloc运算符,但我不确定是否相同 我正在使用Linux和Netbeans 7.1。
答案 0 :(得分:1)
您可以在类似问题中推荐使用像Valgrind这样的c ++内存分析器。 见this
对于netbeans IDE,请查看this。
答案 1 :(得分:0)
如果您想使用手工制作的内存分析,则需要重载operator new和/或malloc()函数。虽然malloc()可以轻松超载,但您需要使用宏技巧。
operator new
malloc()
使用和重载operator new的优势在于,它更简单,更优雅,您可以单独评估每种类型的struct / class。
struct
class