在Linux中,使用GCC编译程序的过程可以被分为四个阶段:
下面我们以hello.c为例,来看看各个阶段,编译器做了什么
----对hello.c进行预编译
执行命令:gcc -E hello.c -o hello.i,打开生成的hello.i文件
可以看到由原来的10行变成了858行。
----对hello.i进行编译,这个时候我们的代码就变成汇编指令了。
gcc -S hello.i -o hello.s
----对hello.s进行汇编,这一步的工作是生成二进制机器指令,
gcc -c hello.s -o hello.o
----最后,对hello.o进行链接,生成可执行程序
gcc hello.o -o hello