如何从二进制中查找静态分配的大小?

Mik*_*hop 6 c c++ linux

是否有可能从二进制文件中确定专用于静态和全局变量的内存总量?我正在寻找一个读取elf文件的Linux实用程序,并计算出为变量预先分配了多少内存.

Dre*_*ann 12

size实用程序将在"数据"下报告该情况.

> size ./my_program
Run Code Online (Sandbox Code Playgroud)


Jon*_*ler 2

您可以使用该nm命令(或objdump按照@sharth的建议)。使用nm更“便携”,因为它也可以在非 Linux Unix 系统上使用;它的可移植性并不高,因为输出格式尚未完全标准化(尽管它是由 POSIX 定义的,但输出格式有几种常见的变体)。