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

问题描述 投票:26回答:3

我需要一种分析用于ARM的GCC编译器的输出文件的方法。我正在为裸机进行编译,并且我非常担心大小。我可以使用交叉编译器提供的arm-none-eabi-objdump,但是如果有用于此任务的工具,那么我就不希望解析输出。您知道现有这样的工具吗?我的搜索没有结果。

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

c parsing gcc cross-compiling objdump
3个回答
49
投票

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

获得函数(和具有静态存储持续时间的对象)的大小:

$ nm --print-size --size-sort --radix=d tst.o

第二列显示功能和对象的十进制大小。

获取部分的大小:

$ size -A -d tst.o

第二列显示小数部分的大小。


8
投票

readelf实用程序可方便地显示各种节信息,包括节大小,例如:

arm-none-eabi-readelf -e foo.o

如果您对运行时内存占用量感兴趣,则可以忽略未设置'A'(分配)标志的部分。


0
投票

puncover使用puncover和其他一些gcc工具生成html页面,您可以轻松地浏览以找出代码和数据空间的去向。

这是比gcc工具的文本输出更好的前端。

© www.soinside.com 2019 - 2024. All rights reserved.