'\" te .\" Copyright 1989 AT&T .\" Copyright (c) 2007, 2012, Oracle and/or its affiliates.All rights reserved. .TH mcs 1 "2012 年 1 月 23 日" "SunOS 5.11" "用户命令" .SH 名称 mcs \- 处理目标文件的注释部分 .SH 用法概要 .LP .nf \fBmcs\fR [\fB-cdHpVz\fR] [\fB-A\fR \fIfile\fR] [\fB-a\fR \fIstring\fR][\fB-n\fR \fIname\fR] \fIfile\fR... .fi .SH 描述 .sp .LP \fBmcs\fR 命令用于显示和压缩内容或将内容附加到 \fBELF\fR 目标文件中的注释部分。它还可用于删除注释或非注释部分以及零 \fBSHT_PROGBITS\fR 部分。除非另有说明,否则会处理名为 \fB\&.comment\fR 的部分。\fBmcs\fR 无法修改或删除包含在段中的部分。 .sp .LP 如果输入文件是归档文件(请参见 \fBar.h\fR(3HEAD)),则会将归档文件视为一组独立文件。例如,如果指定了 \fB-a\fR 选项,则字符串会附加到归档中每个目标文件的注释部分;如果归档成员并非目标文件,则它会保留不变。 .sp .LP \fBmcs\fR 必须给出下方说明的一个或多个选项。它会以给定顺序将每个选项应用于每个文件。 .sp .LP 对于附加操作,如果目标文件尚不包含带有指定名称的部分,则 \fBmcs\fR 会在执行附加操作之前使用该名称创建新的空白部分。 .SH 选项 .sp .LP 支持以下选项: .sp .ne 2 .mk .na \fB\fB-A\fR \fIfile\fR\fR .ad .RS 13n .rt 将给定文件的内容附加到目标文件的注释部分。 .RE .sp .ne 2 .mk .na \fB\fB-a\fR \fIstring\fR\fR .ad .RS 13n .rt 将 \fIstring\fR 附加到目标文件的注释部分。 .RE .sp .ne 2 .mk .na \fB\fB-c\fR\fR .ad .RS 13n .rt 压缩目标文件注释部分的内容。会删除所有重复条目。不会打乱剩余条目的顺序。 .RE .sp .ne 2 .mk .na \fB\fB-d\fR\fR .ad .RS 13n .rt 删除目标文件的指定部分。 .RE .sp .ne 2 .mk .na \fB\fB-H\fR\fR .ad .RS 13n .rt 使用 \fB-p\fR 时,会禁止文件的名称输出以及正常插入至每个文件输出间的任何空白行。 .RE .sp .ne 2 .mk .na \fB\fB-n\fR \fIname\fR\fR .ad .RS 13n .rt 如果名称不是 \fB\&.comment\fR,则请指定要访问的部分的名称。缺省情况下,\fBmcs\fR 会处理名为 \fB\&.comment\fR 的部分。\fBmcs\fR 会使用多个 \fB-n\fR 选项以允许指定多个部分。如果各个部分采用注释部分的格式,则 \fBmcs\fR 始终会处理这些部分。 .RE .sp .ne 2 .mk .na \fB\fB-p\fR\fR .ad .RS 13n .rt 在标准输出中列显注释部分的内容。除非 \fB-H\fR 一起使用,否则每个输出的部分都会使用从中提取它的文件的名称作为前缀,对归档文件使用 \fIfile\fR\fB[\fR\fImember_name\fR\fB ]:\fR 格式,对其他文件使用 \fIfile\fR\fB:\fR 格式。 .RE .sp .ne 2 .mk .na \fB\fB-V\fR\fR .ad .RS 13n .rt 列显提供了有关 \fBmcs\fR 版本信息的标准错误消息。 .RE .sp .ne 2 .mk .na \fB\fB-z\fR\fR .ad .RS 13n .rt 使用零替代任何 \fBSHT_PROGBITS\fR 部分,同时保留这些部分的原始属性。 .RE .SH 示例 .LP \fB示例 1 \fR列显文件的注释部分 .sp .LP 以下条目 .sp .in +2 .nf example% \fBmcs -p elf.file\fR .fi .in -2 .sp .sp .LP 列显 \fBelf.file\fR 文件的注释部分。 .LP \fB示例 2 \fR将字符串附加到注释部分 .sp .LP 以下条目 .sp .in +2 .nf example% \fBmcs -a xyz elf.file\fR .fi .in -2 .sp .sp .LP 将字符串 \fBxyz\fR 附加到 \fBelf.file\fR 的注释部分。 .LP \fB示例 3 \fR分离指定的不可分配部分 .sp .LP 尽管 \fBmcs\fR 主要用于注释部分,但它可对任何不可分配部分进行操作。\fBstrip\fR 命令会删除不可分配部分的预定义选定项,与其相对,\fBmcs\fR 可用于删除特定部分。以下条目 .sp .in +2 .nf example% \fBmcs -d -n .annotate elf.file\fR .fi .in -2 .sp .sp .LP 从 \fBelf.file\fR 文件中删除名为 \fB\&.annotate\fR 的部分。 .SH 文件 .sp .ne 2 .mk .na \fB\fB/tmp/mcs*\fR\fR .ad .RS 13n .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)、\fBstrip\fR(1)、\fBar.h\fR(3HEAD)、\fBelf\fR(3ELF)、\fBa.out\fR(4)、\fBattributes\fR(5) .SH 附注 .sp .LP 当 \fBmcs\fR 使用 \fB-d\fR 选项删除某部分时,它会尝试将类型 \fBSHT_REL\fR 部分和 \fBsh_info\fR 部分标题字段所指向的目标部分绑定在一起。如果要删除某一部分,则 \fBmcs\fR 会尝试删除对中的另一部分。 .sp .LP \fB-z\fR 选项会删除 \fBSHT_PROGBITS\fR 部分的内容,同时保留目标文件的原始 \fBELF\fR 结构。将会限制使用 \fB-z\fR 选项的需要。然而,如果 \fBSHT_PROGBITS\fR 部分的内容不相关,则可使用该选项来提供目标文件。