C语言的编程机制
标签:C语言 编译原理
by 小威威
学习C语言,首先我们要大致了解一下由C语言形成可执行文件的大致流程:
编辑—->预处理—>编译—>链接—>加载
1.编辑、预处理、加载
1) 编辑
编辑是通过编辑器,实现C语言代码的编写,即编辑器提供了编写C语言代码的平台;
2) 预处理
预处理一般有三个作用:宏定义,文件包含,条件编译。
注:I.宏定义简单的来说就是”#define …”,就是将程序中的某个常量全部替换成某个数据;
II.文件包含简单的来说就是”#include …”,就是在文件目录中找到include后的头文件;
III.条件编译指该程序要符合某个条件才运行,否则不运行。
3)加载
加载指通过加载器为可执行文件提供运行的环境。
2.编译、链接
C语言编程的核心是编译,链接两个步骤。
1)编译
编译一般是指将高级语言转化为低级语言(其实也有将高级语言转化为高级语言,后者是作为中间代码)。
注:通过编译,将源代码转化为目标代码,即机器语言。但是目标代码并不是可执行文件,它还缺少启动代码与库代码。
2)链接
链接一般指将目标代码与启动代码、库代码连接起来储存到一个文件中形成可执行文件。
注:
I.启动代码:程序与操作系统的接口。有了这个接口,程序就可以在该操作系统运行;
II.库代码:如printf、scanf等函数的源代码。通常我们对这些库函数进行直接调用,然而并没有定义这些函数。所以通过链接,将这些库函数的源代码连接到目标代码。
3.总结编译原理
由上面的介绍可知,计算机首先通过编译器将源代码转化成目标代码,然后再通过链接器将系统的标准启动代码、库代码和目标代码连接起来储存在同一个文件中形成可执行文件。
以上内容皆为本人观点,欢迎大家提出意见,我们共同探讨。
更多推荐
C语言的编程机制
发布评论