如何统计各个全局变量的内存占用情况
cphj 2009-11-24 02:43:44 file.h中声明全局变量
extern Data data[MAX_A][MAX_B];
extern Buffer buf[MAX_C][MAX_D];
...
...
file.c中定义全局变量
Data data[MAX_A][MAX_B];
Buffer buf[MAX_C][MAX_D];
...
...
现在需要扫描代码文件,统计各个全局变量的内存占用,有什么好方法?
我现在能想到的是读代码文件,解析出全局变量,然后生成一个.cpp文件,内容是:
cout << sizeof(data) << endl;
cout << sizeof(buf) << endl;
...
...
然后把原来的代码和新的.cpp一起编译,再运行获得结果
比较麻烦的是,需要一些手工操作步骤,以后代码更新了,每次都要来一遍
动手之前,先问问各位,有没有其他更好的方法,或者现成的工具最好(注:必须是免费或自由软件,公司禁止用盗版)
多谢!