免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 2917 | 回复: 5
打印 上一主题 下一主题

熟悉ar的来给讲讲吧,我有点儿不明白。 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2010-04-29 09:16 |只看该作者 |倒序浏览
ld是o为单位的,ar是把几个o打包在一起(具体怎么回事儿我不知道,知道就不困惑了),那么静态链接的时候,ld是把一个o都复制过去啊,还是只复制一个func啊?因为binutils的核心是bfd,bfd的接口都是section的,我想是把整个o都复制过去,又不确定,还有ar的原理也不明白。
牛群啊,你出来吧,我是冯巩。

论坛徽章:
0
2 [报告]
发表于 2010-04-29 10:07 |只看该作者
一个o都复制过去

ar 就是把所有的.o简单拼接在一起打包

ar文件的头部还可以创建一个索引,指出哪个符号在哪个.o文件中,这样可以加快链接速度

论坛徽章:
0
3 [报告]
发表于 2010-04-29 10:17 |只看该作者
回复 1# prolj
静态链接只链接调用的函数

论坛徽章:
0
4 [报告]
发表于 2010-04-29 13:02 |只看该作者
学习下

论坛徽章:
0
5 [报告]
发表于 2010-04-29 13:08 |只看该作者
扯淡!ld就是以o为单位的,bfd只提供section的信息。
ar文件头索引出哪个符号在哪个.o,然后ld去copy这个o过去。

论坛徽章:
0
6 [报告]
发表于 2010-05-01 07:41 |只看该作者
整个O过去,那链接是快,可生成的质量太糟了。
大的没试过,曾试过一单片机的。因为单片机特讲究内存空间,试过,只链接调用的那个函数的目的码。
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP