C语言的编程机制
2015-11-06 10:35
197 查看
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++是个什么鬼?
- 最新CC++函数与算法速查大辞典 中国铁道出版社 上线了请大家关注,多提宝贵意见
- c语言中realloc()函数解析
- 2015,C/C++开发工程师生存现状调查
- C语言 全局变量和局部变量的大小限制
- C++的王牌通信框架--ACE在windows下的搭建
- C语言中的转义字符
- 第9周项目1 猴子选大王(数组版)
- 编程免费书Python,C/C++
- 第8周项目5 计数的模式匹配
- C/C++高阶语法:函数指针引用,引用与指针
- C++和java多态的区别
- C语言泛型初探----C链表
- 浅谈C/C++中的typedef和#define
- 广义表求长度和深度C++
- 二叉树的实现(递归遍历和非递归遍历)C++
- C语言中的高精度乘法
- C语言-指针-函数
- 【C++】primer plus 练习8.1
- C++中函数作为形参传递