0

我想知道是否有一个 C 函数可以用来获取另一个可执行文件的数据段大小?例如,像sizeLinux 中的实用程序一样工作的东西?的输出size包括我所追求的信息,数据段大小;例如,它可能看起来像:

text    data    bss     dec     hex     filename
294880  81920   11592   388392  5ed28   ranlib
4

2 回答 2

1

使用elf.h你有你需要的所有数据结构。跟随主 ELF 头到程序头,然后遍历它们。具有写入权限的PT_LOAD标头是数据段。

于 2019-10-30T03:28:31.077 回答
0

看起来没有单一的函数来获取它,但是大小的源代码非常小(~500 行)。你要找的是这里吗? https://github.com/pathscale/binutils/blob/master/binutils/size.c

于 2019-10-30T02:33:47.503 回答