一、gcc的编译过程分为四个过程:
1.预处理(也称预编译,Preprocessing),生成.i的文件
2.编译(Compilation),将预处理后的文件转换成汇编语言,生成.s文件
3.汇编 (Assembly),汇编变为目标代码(机器代码)生成.o的文件
4.链接(Linking),连接目标代码,生成可执行程序
二、常用命令
1.预处理 -E
gcc -E test.c -o test.i 或 gcc -E test.c
输出预编译结果(如HelloWorld中将stdio .h内容插入到代码中),-o 参数即输出文件
2.编译 -S
gcc -S test.i -o test.s
预处理之后,可直接对生成的test.i文件编译,生成汇编代码 test.s
3.汇编 -c
gcc -c test.s -o test.o
对于上一步骤生成的汇编代码文件test.s,gas(GNU Assembler)汇编器负责将其编译为目标文件test.o
4.链接 ()
gcc test.o -o test
将编译输出文件test.o链接成最终可执行文件test。
(选项-O 用法:gcc -O1 test.c -o test 作用:使用编译优化级别1编译程序。级别为1~3,级别越大优化效果越好,但编译时间越长。)
三、多源文件编译
四、库文件连接