2012-04-25 3 views
4

Я пытаюсь сделать программу C++ распечатать свой собственный объем памяти.C++ Размер программы в памяти

Каков хороший способ распечатать КБ памяти, которую использует программа C++ в настоящее время?

мне нужно это для Linux и Windows ... так что-то зависит от платформы ....

Спасибо, MS

+0

Я знаю, что на Java есть такие инструменты, как JProfiler, через которые вы можете делать такие вещи. Я шокирован, если в C++ не было эквивалента. – ControlAltDel

+1

@ user1291492 Есть, вероятно, профилировщики памяти, но я думаю, что OP просит что-то программировать. – delnan

+4

Вам придется сделать его независимым от платформы с помощью определений или чего-то еще. C++ не предоставляет эту возможность, поэтому любой метод зависит от платформы. BTW, я нашел два ответа на Windows и Linux на SO в одном поиске –

ответ

4

Я не думаю, что есть многоплатформенный платформа способ сделать это. Но вы можете использовать макросы, чтобы сделать это нравится:

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

Heres ссылку для метода окна:

How to get memory usage under Windows in C++

и один для метода Linux:

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

1

Посмотрите, как это реализовано в LLVM:

For Unix

For Windows

Соответствующая функция GetTotalMemoryUsage().

Смежные вопросы