B.11 预处理程序

预处理程序用于在编译器真正地看到代码之前分析源文件。以下就是预处理程序执行的各种功能:

(1)用等价形式代替连字序列(参见“复合语句”一节)。

(2)将所有以斜线字符(\)结尾的行连接到同一行。

(3)将程序划分到某个标记流内。

(4)删除注释,并将注释替换成单个空格。

(5)处理预处理程序指令(参见“预处理程序指令”一节)并扩展宏指令。

B.11.1 三连字序列

要处理非ASCII字符集,需要识别以下三字符序列(称为三连字字符,即trigraph),并且当这些字符出现在程序(以及字符串)的任何位置时都能对它们进行特别处理:

B.11 预处理程序 - 图1