Current File : //usr/share/man/zh_CN.UTF-8/man1/elfcompress.1
'\" te
.\" Copyright (c) 2014, Oracle and/or its affiliates.All rights reserved.
.TH elfcompress 1 "2014 年 4 月 23 日" "SunOS 5.11" "用户命令"
.SH 名称
elfcompress \- 目标文件的压缩/解压调试节
.SH 用法概要
.LP
.nf
\fBelfcompress\fR [\fB-fV\fR] [\fB-t\fR \fItype\fR] \fIfilename\fR...
.fi

.SH 描述
.sp
.LP
\fBelfcompress\fR 命令用于在 \fBELF\fR 目标文件中压缩或解压调试节。除非另有说明,否则会处理所有调试和注释节。
.sp
.LP
如果输入文件是归档文件(请参见 \fBar.h\fR(3HEAD)),则会将归档文件视为一组独立文件。如果归档成员并非目标文件,则会保留不变。
.sp
.LP
\fBelfcompress\fR 无法修改包含在分段中的节。此类可分配的节会设置其 \fBSHF_ALLOC\fR 节标志。\fBelfcompress\fR 无法修改类型为 \fB SHT_NOBITS\fR 的节。\fB-t\fR 选项指定的压缩操作可能对候选节带来额外限制。请参见 \fB-t\fR 选项和附注。
.sp
.LP
当使用 \fB-n\fR 选项指定一个或多个要处理的节时,只会处理指定的节,其他所有节会保留未修改状态。如果没有使用 \fB-n\fR 选项,则 \fBelfcompress \fR 会选择与 \fB-t\fR 选项指定的压缩操作兼容的所有节。
.SH 选项
.sp
.LP
支持以下选项:
.sp
.ne 2
.mk
.na
\fB\fB-f\fR\fR
.ad
.sp .6
.RS 4n
缺省情况下,仅当压缩后生成的大小不超过原始数据大小时,\fBelfcompress\fR 才会压缩节。指定 \fB-f\fR 进行强制压缩,即使生成大小超过原始大小。
.RE

.sp
.ne 2
.mk
.na
\fB\fB-n\fR \fIname\fR\fR
.ad
.sp .6
.RS 4n
指定要处理的节的名称。\fBelfcompress \fR 可采用多个 \fB-n\fR 选项,以允许指定多个节。如果没有使用 \fB-n\fR,则 \fBelfcompress\fR 会选择与指定的压缩操作兼容的所有调试节。请参见 \fB-t\fR 选项和附注。
.RE

.sp
.ne 2
.mk
.na
\fB\fB-t\fR \fItype\fR\fR
.ad
.sp .6
.RS 4n
指定要执行的压缩操作。以下是可识别的压缩类型。
.sp
.ne 2
.mk
.na
\fB\fBnone\fR\fR
.ad
.sp .6
.RS 4n
压缩的节已解压。
.RE

.sp
.ne 2
.mk
.na
\fB\fBzlib\fR\fR
.ad
.sp .6
.RS 4n
使用 \fBZLIB\fR 压缩来压缩调试节。候选节必须不可分配(未设置 \fBSHF_ALLOC\fR 标志)并采用节类型 \fBSHT_PROGBITS\fR、\fBSHT_SUNW_DEBUG\fR、\fBSHT_SUNW_DEBUGSTR\fR 或 \fBSHT_SUNW_ANNOTATE\fR。生成的节将设置 \fBSHF_COMPRESSED\fR 节标志来标识使用了压缩。
.RE

.sp
.ne 2
.mk
.na
\fB\fBzlib-gnu\fR\fR
.ad
.sp .6
.RS 4n
使用 \fBZLIB\fR 压缩来压缩调试节,使用 \fBGNU\fR 节压缩格式。候选节必须不可分配(未设置 \fBSHF_ALLOC\fR 标志)、无法拥有 \fBSHT_NOBITS\fR 类型,且必须拥有以 \fB\&.debug\fR 开始的名称。生成的节将重命名为以 \fB\&.zdebug\fR 开头来标识使用了压缩。
.RE

如果未指定 \fB-t\fR 选项,则效果等同于指定 \fB-t\fR \fBzlib\fR。
.RE

.sp
.ne 2
.mk
.na
\fB\fB-V\fR\fR
.ad
.sp .6
.RS 4n
列显提供了有关 \fBelfcompress\fR 版本信息的标准错误消息。
.RE

.SH 附注
.sp
.LP
\fBzlib-gnu\fR 压缩格式限制为名称以 \fB\&.debug\fR 开始的节,同时可将缺省 \fB zlib\fR 压缩格式应用于具有任意名称的节。如果指定了 \fB-t\fR \fBzlib-gnu\fR,但未指定 \fB-n\fR 选项,则会解压名称与 \fBzlib-gnu\fR 格式不兼容的之前压缩的任何节。
.SH 示例
.LP
\fB示例 1 \fR向所有调试节应用 \fBzlib\fR 压缩。
.sp
.in +2
.nf
% \fBelfcompress file\fR
.fi
.in -2
.sp

.LP
\fB示例 2 \fR解压所有调试节
.sp
.in +2
.nf
% \fBelfcompress -t none file\fR
.fi
.in -2
.sp

.LP
\fB示例 3 \fR压缩 \fB\&.debug_info\fR 节,使用 \fBGNU\fR 类型格式
.sp
.in +2
.nf
% \fBelfcompress -t zlib-gnu -n .debug_info file\fR
.fi
.in -2
.sp

.SH 文件
.sp
.ne 2
.mk
.na
\fB\fB/tmp/elfcompress*\fR\fR
.ad
.RS 21n
.rt  
临时文件
.RE

.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
_
接口稳定性Committed(已确定)
.TE

.SH 另请参见
.sp
.LP
\fBar\fR(1)、\fBas\fR(1)、\fBld\fR(1)、\fBmcs\fR(1)、\fBstrip\fR(1)、\fBar.h\fR(3HEAD)、\fBelf\fR(3ELF)、\fBzlib\fR(3)、\fBa.out\fR(4)、\fBattributes\fR(5)
.sp
.LP
\fI《Oracle Solaris 11.3 Linkers and Libraries         Guide》\fR