没有合适的资源?快使用搜索试试~ 我知道了~
首页GLD中文手册:GNU连接器ld 2.14版详解与应用
GLD中文手册是一篇详细介绍GNU连接器ld 2.14版本的文档,该版本的ld是一款强大的链接器,支持多种目标文件格式,如COFF和a.out,得益于通用BFD库,ld具有极高的灵活性。它不仅能在Unix/Linux系统上运行,也适用于GCC的Windows版本djgpp中的ld,可通过互联网免费获取。文章的前言部分提到了作者之前翻译NASM手册的经历,并强调了链接器在软件开发中的重要性,因为汇编器虽然强大,但仅靠它无法生成可执行文件。 ld的主要功能是将目标文件和archive文件连接起来,并进行数据重定位和符号引用。它采用AT&T的连接编辑命令语言的超集,允许用户通过命令文件实现全局和显式控制链接过程。与其他链接器相比,ld的一个显著优点是其诊断能力,即使遇到错误,它仍能继续执行,帮助用户查找其他问题,甚至在某些情况下生成包含错误的输出文件,以便进行调试。 文档的重点在于ld的广泛适用性和命令行选项的使用。尽管ld提供了众多选项,但在日常工作中,用户通常会频繁使用那些针对标准Unix环境的标准选项。这些选项使开发者能够方便地连接和管理标准的Unix目标文件,满足各种编程需求。 此外,文档遵循GNU自由文档许可证发布,保证了其开源性质和自由使用的权利。GLD中文手册是一份实用且详尽的资源,对于需要在不同平台和格式间链接代码的开发者来说,是不可或缺的参考材料。
资源详情
资源推荐
81-.1N.1*#
让连接器在节地址被分配后不要去检查节地址是否重叠通常连接器会执行
这种检查如果它发现了任何重叠它会产生相应的错误信息连接器知道也允许
节的重叠缺省的行为可以使用命令行开关81-.1N.1*#来恢复
812.9#
输出一个交叉引用表如果一个连接器位图文件被产生交叉引用表被打印到
位图文件否则它被打印到标准输出
表的格式相当的简单所以如果需要可以通过一个脚本很轻易地处理它符
号是以名字被打印输出存储对于每一个符号给出一个文件名列表如果符号
被定义了列出的第一个文件是符号定义的所在接下来的文件包含符号的引用
8.H.177#
这个选项限制对普通符号的地址分配脚本命令
85>5&5$C((C($5(#具有同等的效果
8.H.177#选项允许从输出文件的类型选择中确定对普通符号
的地址分配+否则一个非重定位输出类型强制为普通符号分配地址使用#
.H.177#允许那些从共享库中引用的普通符号只在主程序中被分配地
址这会消除在共享库中的无用的副本的空间同时也防止了在有多个指定了搜
索路径的动态模块在进行运行时符号解析时引起的混乱
8.967=&(,<?/4<5(#
在输出文件中建立一个全局符号这个符号拥有一个 <?/4<5( 指定的绝
对地址你可以多次使用这个选项定义多个符号<?/4<5( 支持一个受限
形式的算术运算你可以给出一个十六进制常数或者一个已存在符号的名字或
者使用#G#和##来加或减十六进制常数或符号如果你需要更多的表达式可以考
虑在脚本中使用连接器命令语言注意在 =&(,和 <?/4<5( 之间不
允许有空格
8.7).I,$=<J#
8.7).#
这些选项控制是否在错误信息和其它的输出中重组符号名当连接器被告知
要重组它会试图把符号名以一种可读的形式的展现如果符号被以目标文件格
式使用它剥去前导的下划线并且把 GG形式的符号名转换成用户可读的名字
不同的编译器有不同的重组形式可选的重组形式参数可以被用来为你的编
译器选择一个相应的重组形式连接器会以缺省形式重组直至环境变量
8(<$C(C<<#被设置这些选项可以被用来重载缺省的设置
86)71N.2'5<#
设置动态连接器的名字这个只在产生动态连接的 <' 可执行文件时有效
缺省的动态连接器通常是正确的+除非你知道你在干什么不要使用这个选项
8.70..2.1#
这个选项只在连接 5/ 嵌入式 /5 代码时有效这些代码必须是由 的
编译器跟汇编器通过7.70..1 选项生成的它导致连接器产生一个表
这个表被用来在运行时重定位所有的被静态初始化为指针值的数据
89)*))2#
把所有的警告视为错误
8921...O#
确保输出文件有一个.. 后缀
如果一个被成功完整连接的输出文件不带有一个#..#或##后缀这个选
项确保连接器把输出文件拷贝成带有#..#后缀的同名文件这个选项在使用微
软系统来编译未经修改的 的 7)N.H. 时很有用因为有些版本的
不会运行一个不带有#..#后缀的映像
81.1*#
81.1*#
允许对未使用的输入节的碎片收集在不支持这个选项的平台上被忽略这
个选项不能跟 #2#选项共存也不能被用来进行动态连接缺省行为可以用 8
1.1*#进行恢复
8-.#
在标准输出上打印一个命令行选项概要然后退出
8*)2.*-.#
打印一个所有目标平台相关的选项的概要然后退出
8)/'5<#
打印一个连接位图到文件 /'5< 中参阅上面关于##选项的描述
8N..7.726#
##通常会以速度优先于内存使用的方式优化程序这是通过把输入文件的符
号表放在内存缓冲中实现的这个选项告诉##以内存使用优先来优化尽可能的
减小符号表的重读这在##在连接一个大文件时超出内存限制时有用
8.H.#
8K.9#
通常当创建一个非符号共享库时无定义的符号允许出现并留待运行时连接
器去解决这个选项关闭这样的无定义符号的使用开关 8)-0
.H.#控制共享对象被连接进共享库时的行为
8)7*..H*#
8K7.9#
剩余47页未读,继续阅读
mobiledn
- 粉丝: 0
- 资源: 6
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- 李兴华Java基础教程:从入门到精通
- U盘与硬盘启动安装教程:从菜鸟到专家
- C++面试宝典:动态内存管理与继承解析
- C++ STL源码深度解析:专家级剖析与关键技术
- C/C++调用DOS命令实战指南
- 神经网络补偿的多传感器航迹融合技术
- GIS中的大地坐标系与椭球体解析
- 海思Hi3515 H.264编解码处理器用户手册
- Oracle基础练习题与解答
- 谷歌地球3D建筑筛选新流程详解
- CFO与CIO携手:数据管理与企业增值的战略
- Eclipse IDE基础教程:从入门到精通
- Shell脚本专家宝典:全面学习与资源指南
- Tomcat安装指南:附带JDK配置步骤
- NA3003A电子水准仪数据格式解析与转换研究
- 自动化专业英语词汇精华:必备术语集锦
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功