我正在嘗試一個C/C++程序,我想知道由於堆和其他一些數據結構我使用了多少內存。那麼如何才能找出我的各種數據結構所使用的內存量呢?如何找出使用的內存量
我認爲malloc操作符應該被覆蓋,但我不太確定。
我正在使用Linux和Netbeans 7.1。
我正在嘗試一個C/C++程序,我想知道由於堆和其他一些數據結構我使用了多少內存。那麼如何才能找出我的各種數據結構所使用的內存量呢?如何找出使用的內存量
我認爲malloc操作符應該被覆蓋,但我不太確定。
我正在使用Linux和Netbeans 7.1。
再次感謝您的幫助......如果對netbeans 6.9提供的鏈接,但我正在使用Netbeans 7.1 ....請問請爲netbeans 7.1提供一些好的鏈接......再次感謝 –
@RoseBEck:有人是阻止你使用shell?打開它並運行valgrind,這是迄今爲止最簡單的方法 – akappa
@akappa其實我正在運行一個包含多個文件和文件夾的巨大C++項目..所以我有點擔心Valgrind會爲我的巨大項目工作......我知道它適用於單個文件..但它是真的,它適用於巨大的項目...也感謝您的善良和回覆 –
如果您想使用手工製作的內存分析,那麼您需要重載operator new
和/或malloc()
函數。儘管malloc()
可以輕鬆過載,但您需要使用宏伎倆。
使用和超載的優勢operator new
是,它更容易,更優雅,您可以分別評估每種類型的struct
/class
。
你使用探查器嗎? – hamed
也看到這[問題](http://stackoverflow.com/questions/4690800/how-to-profile-memory-usage) – hamed
@hamed謝謝.. + 1對你的評論。另外,因爲我在netbeans上工作......無論如何netbeans可以幫助我...我是一個完整的新手在這..這就是爲什麼問...也謝謝幫助。由於像你這樣的人,這個社區真的很搖滾。 –