C语言的执行过程

每次学习计算机知识我们应该思考一下穿着别人的鞋子,我们应该怎样走路。

无论通过哪种手段,你都能很轻松地查询到C语言在计算机中被执行的流程是:编辑,预处理,编译,链接,执行。


编辑:通过键盘敲写代码的过程是编辑

预处理:包含头文件的过程(只对include这条指令而言是这种功能)

编译:包括编译和汇编

链接:将汇编后形成的文件转化为可执行文件

下面我们来仔细讲解一下以上各个步骤的具体内容。

编辑

编辑这个过程应该是最好理解的,就是指通过键盘敲写代码的过程。

预处理

预处理是一个过程,是个抽象化的动词。

针对C语言我们就说一下预处理和头文件在一起使用时的情况。

OK,想必学习过C语言的同学一定看到过这句话   #include<stdio.h>   我们来分解一下这个语句 # 标识这是一条预处理指令

include  是预处理指令中的具体的指令(可不要以为在C语言中只有#include啊还有#define等预处理指令)。include是指包含一个源文件的预处理功能。看吧,<stdio.h>就是一个头文件,把文件给包含到你要编写的C语言中。这就是一个预处理指令。当然了,预处理不只是仅有文件包含这种功能,还有宏定义,条件编译,线路控制,诊断等功能。这都是通过"#"+"预处理指令"来具体实现的。

编译

上面说了编译包括汇编和编译,先来看汇编的过程。

下面一个图示让你明白由源程序形成汇编语言的过程:


接下来就是编译的过程了。

编译就是讲汇编语言代码翻译为机器指令代码的过程。最后的结果是得到目标文件。目标文件存放的就是源程序的机器语言代码。

链接

目标文件最终要靠链接这一步形成可执行文件才能够执行。

链接是什么呢?例如,某个源文件中的函数可能引用了另一个源文件中的某个变量;那么链接就把这里几个相关程序连接到一起,是所有的目标文件成为一个能够被操作系统装入执行的整体。

OK,FINISH.

猜你喜欢

转载自blog.csdn.net/FYSGXFZ/article/details/80346347