1. 背景知识
1. 预处理(进行宏替换)
2. 编译(生成汇编)
3. 汇编(生成机器可识别代码)
4. 连接(生成可执行文件或库文件)
2. gcc如何完成编译汇编的工作
格式:gcc [选项] 要编译的文件 [选项] [目标文件]
程序翻译的过程可以分为预处理 ,编译,汇编,链接四个过程,从最开始的源文件到最后的可执行程序。
预处理
预处理功能主要包括宏定义,文件包含,条件编译,去注释等。
预处理指令是以#号开头的代码行。
选项“-E”,该选项的作用是让 gcc 在预处理结束后停止编译过程。
选项“-o”是指目标文件,“.i”文件为已经过预处理的C原始程序。
举例:
[shadow@VM-4-4-centos practice_7_28]$ gcc -E test.c -o test.i
对比一下test.c文件和test.i文件
由于包含了头文件,所以在预处理之后多了八百多行的代码