由一个.c文件最终编译成为一个可执行文件,经过了 预处理、汇编、编译、链接四个步骤 ,通过gcc的各个编译命令可以将这些过程进行分解。
假设c文件为test.c
(1)预处理
gcc -E test.c -o test.i
-E选项是指将test.c文件预处理后输出到test.i文件中
(2)汇编
gcc -S test.i -o test.s
-S选项是指将预处理文件test.i汇编为test.s文件
(3)编译
gcc -c test.s -o test.o
-c选项是指将汇编输出文件test.s编译为目标文件test.o
(4)链接
gcc test.o -o test
将目标文件test.o进行链接,生成test可执行文件。