#pragma dumpmacros(value[,value...])
要查看宏在程序中如何工作时,请使用该 pragma。该 pragma 提供了诸如宏定义、取消定义和用法实例的信息,并按宏的处理顺序将输出打印到标准错误 (stderr)。dumpmacros pragma 达到文件结尾或遇到 #pragma end_dumpmacros 之前一直有效。请参见end_dumpmacros。下表列出了 value 的可能值:
|
dumpmacros pragma 与命令行选项作用相同,但 pragma 会覆盖命令行选项。请参见-xdumpmacros[=value[,value...]]。
dumpmacros pragma 并不嵌套,因此以下代码行中,处理 #pragma end_dumpmacros 时,将停止打印宏信息:
#pragma dumpmacros(defs, undefs) #pragma dumpmacros(defs, undefs) ... #pragma end_dumpmacros
dumpmacros pragma 的作用是累积的。以下代码行
#pragma dumpmacros(defs, undefs) #pragma dumpmacros(loc)
具有和以下行相同的效果:
#pragma dumpmacros(defs, undefs, loc)
如果使用选项 #pragma dumpmacros(use,no%loc),则使用的每个宏的名称仅打印一次。如果使用选项 #pragma dumpmacros(use,loc),则每次使用宏时都打印位置和宏名称。