GCC编译过程四个步骤:
1、预编译 --处理头文件,处理宏定义
2、编译 --- C代码编译成 .s文件
3、汇编 --- .s头文件汇编成机器码.o
4、连接 --- 吧不同的.o文件连接起来。生成一个可执行文件
编译器的主要组件:
分析器:
将源语言程序代码转换为汇编语言,因为要从一种格式转换为另一种格式分析器需要知道目标机器的汇编语言。 C ->汇编
汇编器:
汇编器将汇编语言代码转换为CPU可以执行的字节码; 汇编代码->机器码
链接器:
链接器将汇编器生成的单独的目标文件组合成可执行的应用程序,链接器需要知道这种目标格式以便工作; (把不同的目标文件链接起来生成最终的目标可执行程序);
标准C库:
核心的C函数都有一个主要的c库来提供,如果在应用程序中用到了c库中的函数,这个库就会通过链接器和源代码链接来生成最终的可执行程序/;