静态测量C中方法所需的最大堆栈内存

时间:2013-07-16 05:39:54

标签: c windows gcc arm eabi

我有大量用C语言编写的方法分布在多个文件中,并且所有这些方法都创建了局部变量(主要是结构实例)。 在Windows上使用ARM EABI GCC编译器编译后,我尝试使用objdump检查.o对象文件。

arm-none-eabi-objdump.exe -f -p -h -x -d -s -t test.o > test.txt

我的问题是: 如何计算/检索方法使用的峰值堆栈内存?

没有一个方法使用malloc分配任何动态分配的内存。所以,我希望这会更容易。

我需要这个,因为我需要比较每种方法在使用各种优化选项编译时使用的内存量。这是为了检查是否已执行任何本地内存优化。 我也理解,对于一些局部变量,编译器可能使用寄存器。但是,我只需知道方法所需的最大堆栈内存,或者是否有计算方法。

0 个答案:

没有答案