如何从二进制文件中查找静态分配的大小?
Posted
技术标签:
【中文标题】如何从二进制文件中查找静态分配的大小?【英文标题】:How to find size of static allocations from binary? 【发布时间】:2009-05-26 19:38:16 【问题描述】:是否可以从二进制文件中确定专用于静态和全局变量的内存总量?我正在寻找一个 Linux 实用程序,它可以读取一个 elf 文件并计算出为变量预分配了多少内存。
【问题讨论】:
【参考方案1】:size
实用程序将在“数据”下报告。
> size ./my_program
【讨论】:
【参考方案2】:是的。使用...
objdump -h progfile
这将列出“标题”。找到.data
标题并检查大小列。
【讨论】:
【参考方案3】:您可以使用nm
命令(或@sharth 建议的objdump
)。使用 nm
更“便携”,因为它也可以在非 Linux Unix 系统上使用;它的可移植性并不高,因为输出格式没有完全标准化(虽然它是由 POSIX 定义的,但输出格式有几种常见的变体)。
【讨论】:
以上是关于如何从二进制文件中查找静态分配的大小?的主要内容,如果未能解决你的问题,请参考以下文章