正如你所知道的那样,Linux中的目标文件或着说可执行文件由多个段组成(比如文本段和数据段)。若你想知道每个段的大小,那么确实存在这么一个命令行工具,那就是大小。在本教程中,我们将会用几个简单易懂的案例来讲解该工具的基本用法。
在我们开始前,有必要先声明一下,本文的所有案例都在Ubuntu 16.04 LTS中测试过了。
大小命令基本上就是输出指定输入文件各段及其总和的大小。下面是该命令的语法:
大小(——| - b=| -格式兼容性) (——帮助) [- d | - o | - x |——基数=数量) (——常见) (- t |——总数) [——目标=bfdname] [- v |——版本) [objfile…]
<强>人页是这样描述它的:强>
GNU的大小程序列出参数列表中各目标文件或存档库文件的段大小,以及总大小。默认情况下,对每个目标文件或存档库中的每个模块都会产生一行输出。
objfile……是待检查的目标文件。如果没有指定,则默认为文件a.o ut。
引用>下面是一些问答方式的案例,希望能让你对大小命令有所了解。
大小的基本用法很简单。你只需要将目标文件/可执行文件名称作为输入就行了。下面是一个例子:
大小apl该命令在我的系统中的输出如下:
如何使用大小命令
前三部分的内容是文本段,数据段和bss段及其相应的大小,然后是十进制格式和十六进制格式的总大小。最后是文件名。
根据人页的说法,大小的默认输出格式类似于伯克利的格式。然而,如果你想的话,你也可以使用System V规范。要做到这一点,你可以使用,格式选项加上SysV值。
大小apl——格式=SysV下面是它的输出:
大小- t [file1] [file2)…
下面是该命令的执行的截屏:
大小——常见[file1] [file2)…
另外需要指出的是,当使用伯克利格式时,这些公共符号的大小被纳入了bss大小中。
除了刚才提到的那些选项外,大小还有一些一般性的命令行选项,比如v(显示版本信息)和- h(可选参数和选项的汇总)。