首页
Web开发
Windows程序
编程语言
数据库
移动开发
系统相关
微信
其他好文
会员
首页
>
其他好文
> 详细
目标代码文件、可执行文件和库
时间:
2015-08-21 22:57:44
阅读:
195
评论:
0
收藏:
0
[点我收藏+]
标签:
目标代码文件、可执行文件和库
C编程的基本策略是使用程序将源代码文件转换为可执行文件,此文件包含可以运行的机器语言代码。C分两步完成这一工作:编译和链接。编译器将源代码转换为中间代码,链接器将此中间代码与其他代码相结合来生成可执行文件。C使用被划分为两部分的这一方法使程序便于模块化。我们可以分别编译各个模块,然后使用链接器将编译过的模块结合起来。这样,如果需要改变一个模块,则不必重新编译所有其他模块。同时,链接器将自己的程序与预编译的库代码结合起来。
中间文件的形式有多种选择。最一般的选这,同时也是大部分C程序员的选择,是将源代码转换为机器语言代码,将结果放置在一个目标代码文件(简称为目标文件)中。虽然目标文件包含机器语言代码,但该文件还不能运行。目标文件包含源代码的转换结果,但该转换结果并不是一个完整的程序。
目标代码文件中的所缺少的第一个元素的一种叫做启动代码(start-up code)的东东,此代码相当于自己程序和操作系统之间的接口。
目标代码中缺少的第二个元素是库函数的代码。几乎所有C程序都利用标准C库中包含的库函数。比如printf()函数,目标代码文件不包含这一函数的代码,它只包含声明使用printf()函数的指令。实际代码存储在库中。库文件中包含许多函数的目标代码。
链接器的作用是将这3个元素(目标代码、系统的标准启动代码和库代码)结合在一起,并将它们存放在单个文件,即可执行文件中。对库代码来说,链接器只从库中提取我们编写代码中使用函数所需要的代码。
简而言之,目标文件和可执行文件都是由机器语言指令组成的。但目标文件只包含自己编写的代码转换成机器语言,而可执行文件还包含我们编写代码中使用的库例程以及启动代码的机器代码
目标代码文件、可执行文件和库
标签:
原文地址:http://www.cnblogs.com/xmnn1990/p/4749139.html
踩
(
0
)
赞
(
0
)
举报
评论
一句话评论(
0
)
登录后才能评论!
分享档案
更多>
2021年07月29日 (22)
2021年07月28日 (40)
2021年07月27日 (32)
2021年07月26日 (79)
2021年07月23日 (29)
2021年07月22日 (30)
2021年07月21日 (42)
2021年07月20日 (16)
2021年07月19日 (90)
2021年07月16日 (35)
周排行
更多
分布式事务
2021-07-29
OpenStack云平台命令行登录账户
2021-07-29
getLastRowNum()与getLastCellNum()/getPhysicalNumberOfRows()与getPhysicalNumberOfCells()
2021-07-29
【K8s概念】CSI 卷克隆
2021-07-29
vue3.0使用ant-design-vue进行按需加载原来这么简单
2021-07-29
stack栈
2021-07-29
抽奖动画 - 大转盘抽奖
2021-07-29
PPT写作技巧
2021-07-29
003-核心技术-IO模型-NIO-基于NIO群聊示例
2021-07-29
Bootstrap组件2
2021-07-29
友情链接
兰亭集智
国之画
百度统计
站长统计
阿里云
chrome插件
新版天听网
关于我们
-
联系我们
-
留言反馈
© 2014
mamicode.com
版权所有 联系我们:gaon5@hotmail.com
迷上了代码!