第20章 编译及预处理
C语言提供的编译预处理的功能,是它与其他许多编程语言的重要区别之一。它允许在源程序中使用几种特殊的命令(不是一般的C语句)。编译系统对程序进行编译之前,先对程序中这些特殊的命令进行“预处理”,如置换源程序文件中的特定表示符,或把指定的头文件嵌入被编译的源文件里等操作,然后再进行编译处理,以得到目标代码。
如果一个源程序由多个诸如A.c、B.h等源文件组成,使用的编译连接器是如何根据这些文件生成可执行文件的?编译连接的机理到底是什么?这是本章要学习的内容。
本章包含的知识点有:
·编译的流程
·如何判断程序中的错误
·预处理命令
·宏定义
·条件编译
20.1 编译流程
本书前面给出了很多示例代码,实际上,哪怕是像“Hello World”这样简单的示例程序,都要经过编辑、预处理、编译、连接4个步骤,才能变成可执行程序,鼠标双击就弹出命令窗口,显示“Hello World”。这也是一般C语言程序的编译流程,如图20-1所示。
图20-1 C语言程序编译流程图
20.1.1 编辑</