gcc编译器把C代码变成可执行程序的过程:
1、把我们所编写的代码进行预处理
gcc -E hello.c 把预处理的结果显示到屏幕上
gcc -E hello.c -o hello.i 会生成以.i结尾的预处理文件
2、把预处理的结果翻译成汇编代码
gcc -S hello.i 会生成以.s结尾的汇编文件
3、把汇编代码翻译成二进制指令
gcc -c hello.s 会生成以.o结尾的目标文件
4、把若干个文件目标文件、库文件合并成可执行文件
gcc a.o b.o c.o ... 默认会生成a.out可执行文件,也可以使用-o指定可执行文件的名字。
从实践中gcc a.c b.c c.c ...也会生成a.out 可执行文件。(如下图)
gcc a.o b.o c.o -o hello
./hello 执行程序,也可以编译执行:gcc a.o b.o c.o && ./a.out