binutils 2.40 Linker (ld) 官方文档下载

前言

  • 最近需要熟悉 elf 与 共享库 的链接与加载流程,需要先了解 elf 文件 是怎么链接的,链接脚本如何阅读

  • 最有效的方式是查看 GNU 官方的 Linker (ld) 文档,通过查找,这个 Linker (ld) 属于 GNU binutils,当前的较新的版本为: 2.40

binutils Linker (ld) 文档

在这里插入图片描述

在这里插入图片描述

较老版本文档

小结

  • 程序 的链接脚本、链接过程、加载原理,需要对 binutils 2.40 Linker (ld) 熟悉,当然,也需要熟悉 elf 文件格式
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
MinGW是Minimalistic GNU for Windows 的缩写。她是一个建立在GCC和binutils 项目上的编译器系统。和其他GCC的移植版相比,她可以说是最接近Win32的一个了。因为,MinGW几乎支持所有的Win32API,这也是 MinGW的特色之一。她所连接的程序,不需要任何第三方库就可以运行了。在某种程度上看,MinGW更像是VC的替代品。 获得与安装 MinGW可以从MinGW的官方网站 http://www.mingw.org上获得。 如果,你要安装MinGW,那么你有两种安装方案。下面我来一一介绍。 安装方案一: 首先,你要从 http://www.mingw.org/download.shtml上下载如下几个压缩包。考虑到文件的更新和文章的灵活性。我将只写出文件的主要部分,将省去版本好和更新日期。 gcc-core C语言编译器 gcc-c++ C++语言编译器 mingw-runtime MinGW的运行时库(这个必须安装) win32api win32的API函数头文件和连接库 binutils MinGW的汇编器和连接器等基础工具 gdb MinGW中的调试工具 mingw32-make Make工具,用以更好的管理你的项目 然后,将上述文件逐一下载,然后全部解压缩到一个目录下就可以了,我这里假设你是移动到$(MINGW)这个目录下了。这样,你的MinGW就算安装成功了。 最后到DOS终端上,将当前目录转换成 $(MINGW)/bin 下。输入 C:\>gcc -v 看到一段gcc的版本信息,这就能说明,你的gcc已经可以正常工作了。 安装方案二: 你可以从 http://www.mingw.org/download.shtml上下载 MinGW5.0.2.exe 这个程序。至少,在我写此文的时候,这个是最新版本。 下载以后运行安装,至于安装过程,我想我就不一一介绍了。对于Windows下的开发人员,我想这个应该不是什么问题了。 在一切都选择好以后。这个程序就开始从Internet上下载所需要的压缩包。然后,逐一解开,安装。 总体来说,两种方法各有长处。不过,本人偏爱第一中方法。因为,控制度高,而且,更新也比较简单。自己心里也比较明了。 环境设置: 对于我们这些使用者来说,最好是能够简单方便的使用工具。所以,我们就需要设置环境,便于我们使用MinGW。 对于设置,我们只需要在环境变量中的PATH 变量中,添加$(MINGW)/bin这个路径就可以了。 这样,你就可以在任何目录下使用MinGW了。 ********* Create install directory Create a directory to install all the stuff into. This writer usually creates c:\MinGW and copies all of the above files in there. Now issue the following commands, remember to change the file names to match your downloads: cd /d c:\MinGW gzip -df binutils-2.16.91-20060119-1.tar.gz tar -xf binutils-2.16.91-20060119-1.tar cd info ren dir dir.binutils cd .. gzip -df gcc-core-3.4.5-20060117-1.tar.gz tar -xf gcc-core-3.4.5-20060117-1.tar cd info copy dir dir.gcc copy dir+dir.binutils cd .. gzip -df gcc-g++-3.4.5-20060117-1.tar.gz tar -xf gcc-g++-3.4.5-20060117-1.tar gzip -df mingw-runtime-3.9.tar.gz tar -xf mingw-runtime-3.9.tar cd info ren dir dir.gcc cd .. gzip -df w32api-3.6.tar.gz tar -xf w32api-3.6.tar
### 回答1: GNU ld(链接程序)是GNU计划中的一部分,它是一种用于将目标文件转换为可执行文件的程序。最新的中文版手册(译)-v2.30为GNU ld(链接程序)的使用者提供了详尽的指导,以帮助用户更好地理解和使用其功能。 这个手册的翻译版本由志愿者团队完成,他们花费了很多时间和努力来保证手册的准确性和完整性。 该手册分为五部分。第一部分介绍了GNU ld(链接程序)的基本知识,包括目标文件、符号和符号表、链接器脚本等等。第二部分则详细介绍了GNU ld(链接程序)的命令行选项和使用方法,包括链接类型、输入文件、输出文件、输出格式等等。用户可以通过观看示例和图示,深入的学习命令行选项和应用。 第三部分主要介绍了GNU ld(链接程序)的链接器脚本编写和使用方法。用户可以学习如何使用链接器脚本,来进行程序的链接和定位。 第四部分给出了关于如何调试链接程序和使用其它工具的详细说明。第五部分是有关GNU链接器的参考信息,在这里用户可以快速查找需要的信息和功能。 总的来说,该手册通过全面的介绍和深入的讲解,使用户更快、更好的理解和使用GNU ld(链接程序),让用户掌握 GNU ld 的强大功能。该手册为广大开发人员提供了实用的指导和方法,是学习和使用GNU ld(链接程序)的有力工具。 ### 回答2: GNU ld (linker)是GNU工具链的一部分,用于将编译的目标文件链接成可执行文件或共享库。最新的中文版手册(译)-v2.30为该工具提供了详细的文档和解释。该手册分为多个章节,包括基础概念、如何使用、命令行选项和常见问题等。 该手册首先介绍了链接器的基本概念,包括目标文件和链接过程。然后,它解释了如何使用GNU ld来将多个目标文件链接在一起,并生成可执行文件或共享库。此外,手册还提供了关于如何调试和优化链接过程的建议。 GNU ld的命令行选项是该工具的重要组成部分。手册详细介绍了命令行选项的各个部分及其作用,包括输入文件的选项、输出文件的选项和链接脚本的选项。 最后,手册提供了一些常见问题的解答,供用户参考。例如,如何在链接库中使用全局变量、如何处理未定义符号和如何使用LD_PRELOAD等问题。 总之,GNU ld (linker)最新中文版手册(译)-v2.30详细介绍了该工具链中链接器的使用方法,对于开发人员来说是一份重要的参考资料。 ### 回答3: GNUC的链接器ldGNU binutils提供的一个非常重要的工具,用于将编译好的目标文件链接成可执行文件。对于Linux系统或其他类Unix系统上的开发,这个工具是不可或缺的。虽然ld的功能很强大也很复杂,但GNB binutils提供了详细的手册来帮助开发者熟练掌握其用法。 针对GNU ld手册的中文版译作v2.30,相比于早期版本有了大量的改进。本次译作最大的亮点是增加了相应章节的译者注释,这对于中文读者阅读理解起到了很大的帮助。此外,针对特定用例也增加了示例代码,帮助读者更好地理解链接器的使用与原理。 这个手册主要分为了4个章节,包括:介绍、基本概念、指令和应用。在介绍章节,详细介绍了链接器的功能及其作用。基本概念章节则讲解了重要的概念及其定义,方便读者对其理解和记忆。指令部分详细说明了不同类型的指令及其使用,例举大量实例实现了相应的操作。最后的应用章节则对大量使用场景提供了说明,如怎么使用链接器来链接汇编代码、C语言函数,以及可重定位文件,动态库等。 总体而言,这个手册对于开发人员而言是非常有价值的,它帮助读者深入理解链接器的工作原理,同时为开发者提供了实用的操作指南。而中文翻译也极大地化解了语言、文化差异所带来的障碍,更好地服务于国内开发者。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值