当我们编译一个hello.c文件时,编译器干了那些事。一般是分为四个阶段。
1.预处理
gcc -E hello.c -o hello.i
gcc编译器把hello.c这个文件所包含sum.h的库都link过来了,并且插入在main的前面,这就是编译器预处理所干的事。
2.编译
gcc -S hello.i -o hello.s
把预处理文件转化成汇编文件3.汇编
gcc -c hello.s -o hello.o
把汇编文件转化成机器代码,是目标文件也是二进制文件。4.链接
gcc hello.o -o hello
一般我们用gcc编译一个.c文件时,都会生成一个.out文件也可以自己重命名hello
将各个目标文件链接起来最后生成一个可执行文件。
网友评论