C语言条件编译及编译预处理阶段

C语言由源代码生成的各阶段的作用

C语言条件编译及编译预处理阶段_第1张图片

1、编译预处理阶段的作用

(1)读取c源程序,对伪指令(以#开头的指令)和特殊符号进行处理。预处理过程先于编译器对源代码进行处理。

(2)删除注释。

(3)检查包含预处理指令的语句和宏定义,并对源代码进行相应的转换。

         宏定义指令:如#define指令

        预处理过程会把源代码中出现的宏标识符替换成宏定义时的值。

2、编译

     主要包括词法分析、语法分析、语义分析和中间代码生成、优化、目标代码生成

3、汇编

     将汇编指令翻译成机器码

4、链接

      主要将有关的目标文件彼此相连接生成客家仔、可执行的目标文件。

链接错误的原因有

       (1)函数没有实现;

                 调用了一个函数,但是在程序中没有该函数。

       (2)名字写错;

                使用了在本文件和其他库中没有定义的函数或者变量。

       (3)出现多个。

你可能感兴趣的:(C语言)