大家好,第一次写我的博客,并且是关于c语言的,就像学习C语言一样,我们首先也从helloworld开始,当我们在UNIX或者LINUX系统上执行一个简单的用c语言写的helloworld时,具体的内部编译执行系统步骤是怎么样的呢?下面就让我们来看一下:
1、预处理阶段。预处理器会根据c源程序中的#标志来执行预处理指令,从而修改源程序。例如#include<some>,通过预处理后,会把some文件代码插入到源程序中,最后得 到一个.i的文件。
2、编译阶段。编译器会按照c语言的代码规则去处理编译c代码,使其成为汇编代码,得到.s文件。
3、汇编阶段。汇编器会把按照自己的规则把汇编代码编译成二进制代码,形成机器可看懂的可重定位的目标代码,得到.o文件。
4、程序链接阶段。在链接阶段中,源程序所用到的或者调用的库函数或者第三方的代码都会在这个阶段链接到目标可执行代码中,得到可执行文件。
5、执行运行。加载到内存中,运行。