我需要一种方法来分析 ARM 的 GCC 编译器的输出文件。我正在为裸机编译,我非常关心大小。我可以使用arm-none-eabi-objdump
交叉编译器提供的工具,但如果存在用于此任务的工具,我不会急于解析输出。你知道这样的工具存在吗?我的搜索结果没有结果。
还有一件事,我自己代码中的每个函数都在自己的部分中。
我需要一种方法来分析 ARM 的 GCC 编译器的输出文件。我正在为裸机编译,我非常关心大小。我可以使用arm-none-eabi-objdump
交叉编译器提供的工具,但如果存在用于此任务的工具,我不会急于解析输出。你知道这样的工具存在吗?我的搜索结果没有结果。
还有一件事,我自己代码中的每个函数都在自己的部分中。
您可以使用nm
andsize
来获取函数和 ELF 部分的大小。
要获取函数的大小(以及具有静态存储持续时间的对象):
$ nm --print-size --size-sort --radix=d tst.o
第二列显示函数和对象的十进制大小。
要获取部分的大小:
$ size -A -d tst.o
第二列显示部分的十进制大小。
puncover
使用objdump
和其他一些 gcc 工具来生成 html 页面,您可以轻松浏览以找出您的代码和数据空间的去向。
它比 gcc 工具的文本输出要好得多。