- gcc编译c语言的过程经历一下步骤
- 预处理:分析各种命令,比如 #define、#include等。gcc通过调用 cpp 程序来进行预处理工作。
- 编译:根据输入文件产生汇编语言,由于一般是立即调用汇编程序,所以其输出一般不保存在文件中。gcc调用 ccl 进行编译工作。
- 汇编:将汇编语言用作输入,产生 .o 扩展名的目标文件。gcc调用 as 进行汇编工作。
- 链接:各个目标文件被放在可执行文件的适当位置上,该程序引用的函数也放在可执行文件中。gcc调用链接程序 ld 来完成最终的任务。
- gcc 的基本使用方式:
gcc [选项] 文件名
【说明】
1. 可以根据选项对程序的生成进行全面控制。命令选项可以组合使用,在使用时,每个选项都要有一个自己的连字符“-”。
2. 在ubuntu(linux)下生成的可执行文件没有固定的扩展名,任何符合linux要求的文件名,只要文件的访问属性中有可执行的属性,该文件就是可执行的。
3. gcc按照命令选项的要求对输入的文件进行处理,形成结果输出文件。
4. 输入的文件不一定是C语言源文件,还可能是预处理文件、目标文件等。如何确定输入文件的类型,gcc 是通过输入文件的拓展名来确定的,下图列出部分 相关拓展名。