1. 程序的编译要经历预处理、编译、汇编、连接四个阶段
(1) 无选项编译链接:
gcc test.c
(2) 生成可执行文件
gcc -o matrix_1 matrix_1.c
生成此可执行文件:
将matrix_1.c预处理、汇编、编译并链接形成可执行文件test。-o选项用来指定输出文件的文件名。
(3)选项 -E
gcc -E matrix_1.c -o matrix_1.i
生成预处理文件:
将matrix_1.c预处理输出test.i文件。
(4)选项 -S
gcc -S matrix_1.i
生成汇编文件:
将预处理输出文件matrix_1.i汇编成matrix_1.s文件。
(5)选项 -c
gcc -c matrix_1.s
生成编译后文件:
将汇编文件matrix_1.s编译输出matrix_1.o文件。
(6)无选项链接
gcc matrix_1.o -o matrix_1
生成可执行文件:
将编译输出文件matrix_1.o链接成最终可执行文件matrix_1。
(7)选项-O
gcc -O1 matrix_1.c -o matrix_2
生成可执行文件:
使用编译优化级别1编译程序。生成可执行文件。级别为1~3,级别越大优化效果越好,但编译时间越长。
(8)编译优化+生成汇编文件
gcc -O1 -S matrix_1.c
生成优化后的汇编文件: