编译器的主要组件:
分析器:将源语言程序代码转换为汇编语言(需要目标机器的汇编语言)。
汇编器:将汇编语言代码转换为CPU可执行的字节码。
链接器:将汇编器生成的单独的目标文件组合成可执行的应用程序(需要知道目标格式)。
标准C库:提供核心的C函数。
编译的四个步骤:
1.预处理过程:
gcc -E hello.c -o hello.i
(-Wall)
将源程序进行头文件的展开,宏的替换
2.编译
gcc -S hello.i -o hello.s
将程序编译成汇编代码
3.汇编
gcc -c hello.s -o hello.o
执行汇编代码,生成二进制文件
4.链接
gcc hello.o -o hello
链接生成可执行文件
对于选项,如下也是可以的
GCC的编译流程:
1.预处理:宏的替换和头文件的展开
gcc hello.c -o hello.i -E
得到hello.i
2.编译 把c语言生成汇编语言
gcc hello.i -o hello.s -S
3.汇编 把汇编语言生成机器码语言
gcc hello.s -o hello.o -c
4.链接 给程序分配链接地址和链接相应的库
gcc hello.o -o hello
gcc最基本用法:gcc option filename
查看vim版本:gcc -v。
查看linux版本:cat /etc/issue