该选项会删除在命令行上通过 -D(包括 CC 驱动程序隐式放在命令行上的选项)创建的宏符号 name 的所有初始定义。该选项对任何其他预定义的宏和源文件中的宏定义都没有影响。
要查看 CC 驱动程序放在命令行上的 -D 选项,请将 -dryrun 选项添加到命令行上。
以下命令取消预定义符号 __sun 的定义。foo.cc 中的预处理程序语句(例如 #ifdef(__sun))会知道该符号已取消定义。
example% CC -U__sun foo.cc |
可以在命令行上指定多个 -U 选项。
所有 -U 选项都在出现的任何 -D 选项之后处理。也就是说,如果在命令行上为 -D 和 -U 指定了相同的 name,则 name 是未定义的,而不管这些选项出现的顺序如何。
-D