LD

来自osdev
跳到导航 跳到搜索

This article is a stub! 此页面或段落为 草稿。 你可以通过更精确的编辑贡献 来帮助本wiki。

GNU Linker

Website:http://www.gnu.org/software/binutils/

GNU链接器 (可执行文件名为 'ld') 是 binutils 包的一部分。 它是Linux和其他类Unix操作系统下的标准链接器。 它支持现有的大多数输入和输出格式 (通过使用libbfd),据报道它是列出的链接器中最灵活的。

特性

  • 支持大多数已知的输入格式 (ELF、DJGPP/COFF、Win32/COFF、a.out等)
  • 支持大多数已知的输出格式 (ELF,Win32/PE,COFF,a.out等)。
  • 支持创建共享库。
  • 通过灵活的 Linker Script 语言提供对生成输出文件的完全控制。
  • 可以创建flat binary文件。
  • 可以指定代码/数据地址,并具有单独的加载和执行地址 (对于较高的一半内核至关重要)。
  • 支持DWARF、ECOFF和STABS调试信息。
  • GPL version 3证书下的自由软件。

用法

ld无法单独创建共享库。 你必须给编译器适当的标志,以便它可以生成position-independent的代码 (请注意,这只是在谈论ELF共享库)。

ld能够链接,同时在最终对象中保留重定位 (称为 “增量链接”),并且如果指示这样做,它也可以留下未解决的符号。

你可能还需要了解一下 ar,一个ld的静态链接库伴侣。

另见

文章

External Links