内存中的C++程序大小

问题描述:

我想让一个C++程序打印出自己的内存占用。内存中的C++程序大小

什么是一个很好的方式来打印出当前C++程序正在使用的内存KB?

我需要它为Linux和Windows ...所以一些平台无关....

谢谢 MS

+0

我知道在Java中有像JProfiler这样的工具,你可以做这种事情。如果在C++中没有等价物,我会感到震惊 – ControlAltDel 2012-04-25 17:05:07

+1

@ user1291492有可能是内存分析器,但我认为OP要求编程的东西。 – delnan 2012-04-25 17:06:35

+4

你将不得不通过定义或whatnot使它独立于平台。 C++不提供这种功能,所以任何方法都将取决于平台。顺便说一句,我发现在一个搜索SO到Windows和Linux的两个答案 – 2012-04-25 17:06:39

我不认为有这样的一座耗资平台的方式。 但是你可以使用宏来做到这一点,如:

#ifdef __GCC__ 
//linux code 
#else 
//windows code 
#endif 

继承人的链接窗口方法:

How to get memory usage under Windows in C++

和一个用于Linux的方法:

How to get memory usage at run time in c++?

看看它是如何在LLVM中实现的:

For Unix

For Windows

相关功能GetTotalMemoryUsage()