分析ELF部分和符号大小的工具

Rus*_*hPL 26 c parsing gcc cross-compiling objdump

我需要一种方法来分析我的GCC编译器的ARM输出文件.我正在编制裸机,我非常关心尺寸.我可以使用arm-none-eabi-objdump交叉编译器提供但是如果存在用于此任务的工具,则解析输出不是我想要做的事情.你知道这样的工具存在吗?我的搜索没有结果.

还有一件事,我自己的代码中的每个函数都在它自己的部分.

oua*_*uah 49

您可以使用nmsize获取函数和ELF部分的大小.

要获取函数(以及具有静态存储持续时间的对象)的大小:

$ nm --print-size --size-sort --radix=d tst.o
Run Code Online (Sandbox Code Playgroud)

第二列显示函数和对象的十进制大小.

要获得部分的大小:

$ size -A -d tst.o
Run Code Online (Sandbox Code Playgroud)

第二列显示部分的十进制大小.

  • 视窗?不,`nm`和`size`是GNU工具的一部分,是`binutils`的一部分.添加所需的平台前缀以在跨平台中运行工具(例如,键入`arm-none-eabi-nm`和`arm-none-eabi-size`), (4认同)

Lan*_*son 8

所述readelf实用程序是很方便的,用于显示各种信息部分,包括部分尺寸,例如:

arm-none-eabi-readelf -e foo.o
Run Code Online (Sandbox Code Playgroud)

如果您对运行时内存占用感兴趣,可以忽略没有设置"A"(分配)标志的部分.