Sun Studio 12:C 用户指南

B.2.58 -Uname

取消定义预处理程序符号 name。此选项可删除由 -D 在命令行上创建的预处理程序符号 name 的任何初始定义,包括那些由命令行驱动程序放置的定义。

-U 对源文件中的预处理程序指令没有任何影响。可以在命令行上指定多个 -U 选项。

如果在命令行中为 -D-U 指定了相同的 name,则取消定义 name,而无论这些选项出现的顺序如何。在以下示例中,-U 取消定义 __sun


cc -U__sun text.c

由于已取消定义 __sun,因此在 test.c 中采用以下形式的预处理程序语句将不会生效。


#ifdef(__sun)

有关预定义符号的列表,请参见B.2.7 -Dname[( arg[,arg])][= expansion]