可能重複:
Simple C implementation to track memory malloc/free?如何跟蹤malloc和free?
我需要知道多少內存我已經使用到現在在C程序中,這裏是僞代碼
#include <stdio.h>
int usedMemory =0;
void *MyMalloc(int size){
usedMemory = usedMemory +size ;
return malloc(size);
}
void MyFree(void *pointer){
/*****************what should i write here????*************/
}
int main(int argc, char *argv[])
{
char *temp1= (char *)MyMalloc(100);
char *temp2= (char *)MyMalloc(100);
/*......other operations.........*/
MyFree(temp1);
MyFree(temp2);
return 0;
}
燦任何人都可以告訴我在MyFree方法中寫什麼(它會減少從usedMemory中釋放的內存量。)
我問你爲什麼要做到這一點?這對於你自己來說更像是自測嗎?還是你試圖分析數據使用?如果你只是想跟蹤和理解內存使用情況,可以看看可免費使用的'valgrind'應用程序。 – Grambot
C或C++?選一個。 –
如果'malloc'失敗怎麼辦?嘗試'void * MyMalloc(int size){void * tmp = malloc(size); if(tmp)usedMemory + = size;返回tmp; }'而不是:) – pmg