Linux下的GCC编译过程
相信大家都对Linux下的gcc有所了解,今天我就对我自身所认识的gcc的过程做一个小小的总结。
首先我们要有一个hello.c的c语言文件。
第一步:预处理
将C源文件编译成C文件,此时只会做:宏替换掉,注释去掉,将头文件展开,不做语法检查(哪怕此时程序语法有问题,是不会报错的)。
gcc -E test.c -o test.i
第二步:编译
将上一步生成的C文件编译成汇编文件
gcc -S test.i -o test.s
第三步:汇编:
将上一步生成的汇编文件编译成机器文件(OBJ格式)
gcc -c test.s -o test.o
第四步:链接:
将所有的机器文件共同参与链接,生成一个总的可执行文件
gcc test.o test2.o test3.o -o MyApp
最后:
执行该可执行文件即可—》./MyApp
这就是我对于gcc编译流程的浅浅总结。