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

1、编译预处理阶段的作用
(1)读取c源程序,对伪指令(以#开头的指令)和特殊符号进行处理。预处理过程先于编译器对源代码进行处理。
(2)删除注释。
(3)检查包含预处理指令的语句和宏定义,并对源代码进行相应的转换。
宏定义指令:如#define指令
预处理过程会把源代码中出现的宏标识符替换成宏定义时的值。
2、编译
主要包括词法分析、语法分析、语义分析和中间代码生成、优化、目标代码生成
3、汇编
将汇编指令翻译成机器码
4、链接
主要将有关的目标文件彼此相连接生成客家仔、可执行的目标文件。
链接错误的原因有:
(1)函数没有实现;
调用了一个函数,但是在程序中没有该函数。
(2)名字写错;
使用了在本文件和其他库中没有定义的函数或者变量。
(3)出现多个。
本文详细介绍了C语言从源代码到可执行文件的整个编译过程,包括编译预处理、编译、汇编及链接四个阶段。重点阐述了每个阶段的功能与作用,以及可能遇到的常见错误。
179

被折叠的 条评论
为什么被折叠?



