Current File : //usr/share/man/zh_CN.UTF-8/man1/unifdef.1
'\" te
.\"  Copyright (c) 1994, 2011, Oracle and/or its affiliates.All rights reserved.
.TH unifdef 1 "2011 年 6 月 8 日" "SunOS 5.11" "用户命令"
.SH 名称
unifdef \- 解析和删除 C 程序源中经过 ifdef 的行
.SH 用法概要
.LP
.nf
\fBunifdef\fR [\fB-clt\fR] [\fB-D\fR\fIname\fR] [\fB-U\fR\fIname\fR] [\fB-iD\fR\fIname\fR] [\fB-iU\fR\fIname\fR] ... 
     [\fIfilename\fR]
.fi

.SH 描述
.sp
.LP
\fBunifdef\fR 会在不影响文件的情况下删除文件中经过 \fBifdef\fR 的行。它足够智能,可以处理嵌套的 \fBifdef\fR、注释以及 C 语法的单引号和双引号,但不会包括或解释宏。它也不会删除注释,但可以识别并忽略这些注释。您可使用 \fB-D\fR 选项指定希望定义的符号,使用 \fB-U\fR 选项指定不希望定义的符号。那些 \fBifdef\fR 中的行将复制到输出或根据需要删除。与 \fIfilename\fR 相关联的任何 \fBifdef\fR、\fBifndef\fR、\fBelse\fR 和 \fBendif\fR 行也将删除。
.sp
.LP
不会改动包括未指定符号的 \fBifdef\fR,它将与其相关联的 \fBifdef\fR、\fBelse\fR 和 \fBendiff1\fR 行一起复制。
.sp
.LP
如果一个发生的 \fBifdef\fR\fIX\fR 嵌套于另一个 \fBifdef\fR\fIX\fR 之内,那么会将内部的 \fBifdef\fR 视为不可识别的符号。如果同一符号出现在多个参数中,那么仅在第一次出现时有效。
.sp
.LP
如果未提供 \fIfilename\fR 参数,那么 \fBunifdef\fR 会将其输出复制到标准输出,并会从标准输入中提取其输入。
.SH 选项
.sp
.LP
支持以下选项:
.sp
.ne 2
.mk
.na
\fB\fB-c\fR\fR
.ad
.RS 11n
.rt  
正常操作补充。将被删除或留空的行会得到保留,反之亦然。
.RE

.sp
.ne 2
.mk
.na
\fB\fB-l\fR\fR
.ad
.RS 11n
.rt  
使用空白行代替“删除的行”。
.RE

.sp
.ne 2
.mk
.na
\fB\fB-t\fR\fR
.ad
.RS 11n
.rt  
纯文本选项。\fBunifdef\fR 会禁止尝试识别注释、单引号和双引号。
.RE

.sp
.ne 2
.mk
.na
\fB\fB-D\fR\fIname\fR\fR
.ad
.RS 11n
.rt  
与定义符号 \fIname\fR 相关联的行。
.RE

.sp
.ne 2
.mk
.na
\fB\fB-U\fR\fIname\fR\fR
.ad
.RS 11n
.rt  
与未定义符号 \fIname\fR 相关联的行。
.RE

.sp
.ne 2
.mk
.na
\fB\fB-iD\fR\fIname\fR\fR
.ad
.RS 11n
.rt  
忽略但输出与定义符号 \fIname\fR 相关联的行。如果要使用 \fBifdef\fR 来分隔非 C 行,如构建中的注释或代码,那么您必须为 \fBunifdef\fR 指明将用于该目的的符号,使其不会解析其中的引号和注释。
.RE

.sp
.ne 2
.mk
.na
\fB\fB-iU\fR\fIname\fR\fR
.ad
.RS 11n
.rt  
忽略但输出与未定义符号 \fIname\fR 相关联的行。
.RE

.SH 退出状态
.sp
.LP
将返回以下退出值:
.sp
.ne 2
.mk
.na
\fB\fB0\fR\fR
.ad
.RS 5n
.rt  
操作成功。
.RE

.sp
.ne 2
.mk
.na
\fB\fB1\fR\fR
.ad
.RS 5n
.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
.TE

.SH 另请参见
.sp
.LP
\fBdiff\fR(1)、\fBattributes\fR(5)
.SH 诊断
.sp
.ne 2
.mk
.na
\fB\fBPremature\fR \fBEOF\fR\fR
.ad
.RS 17n
.rt  
不正确的 \fBelse\fR 或 \fBendif\fR。
.RE