一个C程序是如何生成的
来源:互联网 发布:java b2b2c 开源 编辑:程序博客网 时间:2024/04/27 10:40
C编程的基本策略是用程序把源代码文件转换成可执行文件。C通过编译和链接这两个步骤来完成这一过程。编译器把源代码转换成中间代码,链接器把中间代码和其他代码包括预编译的库代码合并,生成可执行文件。
中间代码有很多种形式,最普遍的就是把源代码转换为机器语言代码,并把结果放在目标代码文件里。但是目标文件缺失许多代码:1是启动代码,启动代码充当这程序和操作系统之间的接口。2是库函数,例如printf()函数就需要stdio这个标准输入输出库,许多函数都存储在库文件种。
链接器的作用是把你编写的目标代码,系统的标准启动代码和库函数这3个部分合并成一个文件,即可执行文件。对于库代码,链接其只会把要用到的库函数代码提取出来。
下图是windows环境下程序的生成过程:
简而言之,目标文件和可执行文件都有机器语言指令组成。然而,目标文件只包含编译器为你编写的代码翻译的及其语言代码,可执行文件还包括你编写的程序中使用的库函数和启动代码。
在Linux系统中,我们不像windows系统上使用IDE来编写代码,而是利用vim文本编辑器和GUN编译器来生成一个程序。如下图所示:
0 0
- 一个C程序是如何生成的
- 一个c程序是如何启动和终止的
- 一个C程序是如何启动和终止的
- 一个C程序是如何启动和终止的
- Activity是如何生成一个 view 的
- 一个C语言源程序是如何到一个可执行程序的
- c程序是如何编译成的
- c程序是如何跑起来的?
- 如何判断一个程序是C编译的还是C++编译的
- 分析一个简单C程序的汇编代码,理解计算机是如何工作的
- 反汇编一个简单的C程序,分析汇编代码理解计算机是如何工作的
- 通过汇编一个简单的C程序,分析汇编代码理解计算机是如何工作的
- 通过汇编一个简单的C程序,分析汇编代码理解计算机是如何工作的
- 通过汇编一个简单的C程序,分析汇编代码理解计算机是如何工作的
- 计算机是如何执行程序的(以汇编一个简单的C程序,分析汇编代码为例)
- 计算机是如何工作的?--通过汇编一个简单的C程序,分析汇编代码理解计算机是如何工作的
- 编译器是如何判断一个函数的结束的???程序
- 通过反汇编一个简单的C程序,分析汇编代码理解计算机是如何工作的
- HDU1576 A/B 求乘法逆元模版
- (九)ArcGIS API For Javascript调用结果地图服务
- ViewPager冲突之(ViewPager与ViewPager+Fragment滑动栏冲突)
- 开始写博客激励自己游戏引擎程序员之路
- leetcode 212. Word Search II
- 一个C程序是如何生成的
- es6的新特性(一)
- 关于Virtualbox下安装Linux系统
- python学习之 12306的一个小爬虫
- 深入理解javascript(4):__proto__
- STL容器之Vector
- java编程思想(七)总结
- 暴露年龄
- 《Java in Action》-1 第2章 通过行为参数化传递代码