ld 连接描述.pdfVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
ld 连接描述.pdf

ld 项和lds 文件 ================================================================================== 0. Contents 1. 概论 2. 基本概念 3. 脚本格式 4. 简单例子 5. 简单脚本命令 6. 对符号的赋值 7. SECTIONS 命令 8. MEMORY 命令 9. PHDRS 命令 10. VERSION 命令 11. 脚本内的表达式 12. 暗含的连接脚本 1. 概论 每一个链接过程都由链接脚本(linker script, 一般以lds 作为文件的后缀名)控制. 链接脚本主要用于规定如何把输入文件内的section 放入输出文件内, 并控制输出文件内各部分在程序地址空间内的布局. 但你 也可以用连接命令做一些其他事情. 连接器有个默认的内置连接脚本, 可用ld --verbose 查看. 连接选项-r 和-N 可以影响默认的连接脚本(如何影响?). -T 选项用以指定自己的链接脚本, 它将代替默认的连接脚本.你也可以使用暗含的连接脚本以增加自定义的链接命令. 以下没有特殊说明,连接器指的是静态连接器. 2. 基本概念 链接器把一个或多个输入文件合成一个输出文件. 输入文件: 目标文件或链接脚本文件. 输出文件: 目标文件或可执行文件. 目标文件(包括可执行文件)具有固定的格式, 在UNIX 或GNU/ Linux 平台下, 一般为ELF 格式. 若想了解更多, 可参考 UNIX/ Linux 平台可执行文件格式分析 有时把输入文件内的section 称为输入section(input section), 把输出文件内的section 称为输出section(output sectin). 目标文件的每个section 至少包含两个信息: 名字和大小. 大部分section 还包含与 相关联的一块数据, 称为section contents(section 内容). 一个section 可被标记为 loadable(可加载的)”或 allocatable(可分配的)”. loadable section: 在输出文件运行时, 相应的section 内容将被载入进程地址空间中. allocatable section: 内容为空的section 可被标记为 可分配的”. 在输出文件运行时, 在进程地址空间中空出大小同section 指定大小的部分. 某些情况下, 这块内存必须被置零. 如果一个section

文档评论(0)

suijiazhuang1 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档