获取二进制文件的数据和代码区域的大小

时间:2013-06-12 16:04:42

标签: c++ c unix

我有一个二进制可执行文件“foo”。在unix中使用C程序,是否可以检索文件foo的代码和数据区域的大小?

2 个答案:

答案 0 :(得分:2)

您可以使用size命令。

man size

  

GNU大小实用程序在其参数列表中列出每个对象或归档文件objfile的节大小和总大小。默认情况下,会为每个目标文件或存档中的每个模块生成一行输出。

示例:

$ size a.out
   text    data     bss     dec     hex filename
   1863     288       8    2159     86f a.out

答案 1 :(得分:1)

是的,但这取决于您的平台。在Linux上,您可以使用

objdump -h foo

获取每个“区域”的大小。