目标代码文件、可执行文件和库

本文详细介绍了C编程中的编译与链接过程,解释了源代码如何通过编译器转化为中间代码,再通过链接器整合成可执行文件。文章还讨论了目标文件与可执行文件的区别,以及启动代码和库例程的重要性。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

    C编程的基本策略是使用程序将源代码转换为可执行文件,此文件包含可运行的机器语言代码。C分两步完成这一工作:编译和链接。编译器将源代码转换为中间代码,连接器将此中间代码与其他代码相结合来生成可执行文件。C使用被划分为两部分的这一方法使程序便于模块化,你可以分别编译各个模块,然后使用连接器将编译过的模块结合起来。这样,如何需要改变一个模块,则不必重新编译所有其他模块。同时,链接器将您的程序与编译的库代码结合起来。

    中间文件的形式有多种选择。最一般的选择,同时也是我们这里讲述的实现方式所采取的选择,是将源代码转换为机器代码。将结果放置在一个目标代码文件(或简称目标文件)中(这里假定您的源代码由单个文件组成)。虽然目标文件包含机器语言代码,但该文件还不能运行。目标文件包含源代码的转换结果,但它还不是一个完整的程序。

    目标代码文件中所缺少的第一个元素是一种叫做启动代码(Start-up code)的东西,此代码相当于您的程序和操作系统之间的接口。例如你可以在dos 或Linux下运行一个 IBM PC 兼容机,在两种情况中硬件是相同的,所以都会使用同样的目标代码,但是 DOS与Linux要使用不用的启动代码,因为这两种系统处理程序的方式不同的。

所缺少的第二个元素是库例程的代码。几乎所有C程序都利用标准库中所包含的例程(称为函数)。例如,前面的concrete.c使用了函数printf()。目标代码文件不包含这一函数的指令。实际代码存储在另一个称为“库”的文件中,库文件中包含许多函数的目标代码。

    链接器的作用是将这3个元素(目标代码、系统的标准启动代码和库代码)结合在一起,并将他们存放在单个文件,即可执行文件中。对库代码来说,链接器只从库中提取您所使用的函数所需的代码(见图1.4所示)

Primer <wbr>Plus <wbr>- <wbr>1.7.1 <wbr>目标代码文件、可执行文件和库

简而言之,目标文件和可执行文件都是由机器语言指令组成的。但目标文件只包含您所编写的代码转换成的机器语言,而可执行文件还包含您所使用的库例程以及启动代码。

转载于:https://www.cnblogs.com/getyoulove/p/3674791.html

本程序代码由SoftATM(www.softatm.com)开发 版权所有。 您可修改相关logo,但请在贵站为softatm留个链接,以表对我们工作的支持,谢谢! GBBS微论坛,界面简约,风格大气,支持手机终端管理,是首款二维码论坛,首款话题可以与淘宝宝贝绑定的论坛,继承论坛的即时、自由、信息发布等特点,不求大而全。微论坛发展的方向是移动互联网优秀体验,亮点是与电商轻电商(如淘宝)的完美结合,以求轻巧快速的搭建自己的轻电商平台或宝贝产品展示平台。可做新闻系统、信息发布系统、文章发布系统、微相册、问答系统之用,后台清晰,SEO合理,适合中小型企业、站长淘宝店主使用。 本系统可以专业人士使用,也可以从未涉及过网络的人士使用,上传即可,简单设置(甚至可以不用设置)一键完成,复杂设置如页面重新布局,都可随心所欲操作。 1、系统分access/mssql两种语言版本,仅10M空间即可以正常使用本系统; 2、只需IIS环境即可默认启动,官方默认一套大气皮肤,并可更换皮肤; 3、可做为PC论坛、手机论坛、微贴吧、信息系统、微商铺、轻电商、留言板、相册、广告系统等使用; 4、SEO优化静态化及搜索引擎优化一键设置,省心无麻烦,布局符合SEO原则,搜索引擎爱收录; 5、jquery/js的特性可用于系统跨浏览器、跨平台调用; 6、图片展示、文字展示随意排版帖子,想玩相册?一键设置;想玩商铺展示?还是一键设置! 7、支持图片、文档、文件批量上传,支持话题权限,支持设置上传文件类型; 8、在线更换LOGO,更换皮肤,更与kindeditor完美结合,自由上传图文编辑; 9、Q信任登陆,不再为繁琐的注册发愁,精致的积分等级及权限设置,满足不同要求! 10、中国首款与二维码结合的论坛,手机一族贴心的功能,扫一扫一切搞定!超适合用于淘宝宝贝展示! 11、真正的伪静态哦,不需要设置模板的伪静态哦,不损耗系统资源; 12、new!兼容各种手机浏览的清淡界面,快速而准确,支持APP; 程序只须上传至主机上即可运行! 用户名:admin 密码 : admin 程序设计:东东 代码编写:东东 微论坛QQ群:12652162 微论坛售后群:226065360 进口食品QQ群: 28167622 官方网址:http://www.softatm.com 好吃美食:http://www.365haochi.com 我们shopping买美食:http://shop.365haochi.com 买美食:http://www.maimeishi.cn
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值