'\" 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