编译过程分四个阶段:预处理(预编译Preprocessing)、编译(Compilation)、汇编(Assembly)和链接(Linking)。
预处理
gcc -E hello.c -o hello.i 或 gcc -E hello.c
gcc -E :仅激活预处理,让编译器在预处理后停止,并输出预处理.i文件。
-o:指定生成目标文件的名称
编译
gcc -S hello.c -o hello.s 或 gcc -S hello.i -o hello.s
gcc -S:激活预处理和汇编,将源.c文件或预处理.i文件编译成汇编码.s。
汇编
gcc -c hello.c
gcc -c:激活预处理、编译和汇编,将源.c文件处理成目标.o文件。
链接
gcc -o hello hello.c 或 gcc hello.c -o hello
gcc -o:指定目标名称,缺省编译出的文件名为hello.out