2014-11-24 51 views
2

我在写一个C++程序,它使用的内存比我预期的要多(例如通过Linux top命令测量);在这种情况下它很重要,因为可用内存是程序功能的重要限制因素。有没有办法确定哪些数据结构(类或对象)会占用多少内存使用量?哪些数据结构正在使用多少内存

也就是说,我当然可以换每个对象的代码单独跟踪它的内存使用情况,但我不知道是否有使用现有的工具,如gdbvalgrind一个更加自动化的解决方案吗?

+2

你可能在你的程序中有内存泄漏。用memecheck运行valgrind,这可能会有所帮助。 http://valgrind.org/docs/manual/mc-manual.html – Rush 2014-11-24 07:05:15

回答

0

在代码中,您可以使用sizeof函数。

如果你需要一个工具,你可以在你最喜欢的搜索引擎上寻找“Profiling tool C++”。你会有很多结果。