'\" te .\" Copyright 1989 AT&T .\" Copyright (c) 2009, 2013, Oracle and/or its affiliates.All rights reserved. .TH size 1 "2013 年 9 月 9 日" "SunOS 5.11" "用户命令" .SH 名称 size \- 输出目标文件的节大小(以字节为单位) .SH 用法概要 .LP .nf \fBsize\fR [\fB-f\fR] [\fB-F\fR] [\fB-n\fR] [\fB-o\fR] [\fB-V\fR] [\fB-x\fR] \fIfilename\fR... .fi .SH 描述 .sp .LP \fBsize\fR 命令会为 ELF 目标文件中的每个装入节生成分段或节大小信息(以字节为单位)。\fBsize\fR 会输出文本、数据和 bss(未初始化的数据)分段(或节)的大小及其总大小。 .sp .LP \fBsize\fR 处理输入到命令行的 ELF 目标文件。如果将归档文件输入到 \fBsize\fR 命令,则会显示归档中每个目标文件的信息。 .sp .LP 计算分段信息时,\fBsize\fR 命令会输出不可写分段的总文件大小、可写分段的总文件大小以及可写分段总内存大小减去可写分段总文件大小。 .sp .LP 如果它无法计算分段信息,则 \fBsize\fR 会计算节信息。计算节信息时,它会输出可分配节、不可写节和非 \fBNOBITS\fR 节的总大小;可分配节、可写节和非 \fBNOBITS\fR 节的总大小,以及类型 \fBNOBITS\fR 的可写节的总大小。\fBNOBITS\fR 节不会实际占用 \fIfilename\fR 的空间。 .sp .LP 如果 \fBsize\fR 无法计算分段或节信息,则会输出错误消息。 .SH 选项 .sp .LP 支持以下选项: .sp .ne 2 .mk .na \fB\fB-f\fR\fR .ad .RS 6n .rt 列显每个可分配节的大小、节的名称以及节的总大小。如果没有节数据,则 \fBsize\fR 会输出错误消息。 .RE .sp .ne 2 .mk .na \fB\fB-F\fR\fR .ad .RS 6n .rt 列显每个可装入分段的大小、分段的权限标志,然后是可装入分段的总大小。如果没有分段数据,则 \fBsize\fR 会输出错误消息。 .RE .sp .ne 2 .mk .na \fB\fB-n\fR\fR .ad .RS 6n .rt 列显不可装入分段或不可分配节的大小。如果存在分段数据,则 \fBsize\fR 会输出每个可装入分段的内存大小或每个不可装入分段的文件大小、权限标志以及分段的总大小。如果没有分段数据,则 \fBsize\fR 会输出各可分配和不可分配节的内存大小、节名称以及节的总大小。如果没有分段或节数据,则 \fBsize\fR 会输出错误消息。 .RE .sp .ne 2 .mk .na \fB\fB-o\fR\fR .ad .RS 6n .rt 列显八进制数字,而不是十进制数字。 .RE .sp .ne 2 .mk .na \fB\fB-V\fR\fR .ad .RS 6n .rt 在标准错误输出中列显 \fBsize\fR 命令版本信息。 .RE .sp .ne 2 .mk .na \fB\fB-x\fR\fR .ad .RS 6n .rt 列显十六进制数字,而不是十进制数字。 .RE .SH 示例 .sp .LP 以下是典型的 \fBsize\fR 输出示例。 .LP \fB示例 1 \fR生成大小信息 .sp .in +2 .nf example% \fBsize \fIfilename\fR\fR 2724 + 88 + 0 = 2812 .fi .in -2 .sp .LP \fB示例 2 \fR生成可分配节大小信息 .sp .in +2 .nf example% \fBsize -f \fIfilename\fR\fR 26(.text) + 5(.init) + 5(.fini) = 36 .fi .in -2 .sp .LP \fB示例 3 \fR生成可装入分段大小信息 .sp .in +2 .nf example% \fBsize -F \fIfilename\fR\fR 2724(r-x) + 88(rwx) + 0(rwx) = 2812 ... \fI(If statically linked)\fR .fi .in -2 .sp .SH 属性 .sp .LP 有关下列属性的说明,请参见 \fBattributes\fR(5): .sp .sp .TS tab() box; cw(2.75i) |cw(2.75i) lw(2.75i) |lw(2.75i) . 属性类型属性值 _ 可用性developer/base-developer-utilities .TE .SH 另请参见 .sp .LP \fBas\fR(1)、\fBld\fR(1)、\fBar.h\fR(3HEAD)、\fBa.out\fR(4)、\fBattributes\fR(5) .SH 附注 .sp .LP 因为在创建可执行文件或共享目标文件之前,bss 节的大小未知,所以 \fBsize\fR 命令不会给出可重定位目标文件的总大小。