热门问题
时间线
聊天
视角
gold (连结器)
ELF檔案連結器 来自维基百科,自由的百科全书
Remove ads
在软件工程中,gold是ELF档案的链接器。其在2008年3月成为官方GNU软件包并被加入至GNU Binutils中[1][2],第一次释出是在binutils 2.19中。gold是由Ian Lance Taylor与Google的一个小团队开发的[3]。编写gold的动机是要制作一个比GNU连结器更快的连结器[3],特别是对于使用C++编写的大型应用程序。
与GNU连结器不同,gold并不会使用BFD函式库来处理目的档。虽然这限制了其只能处理ELF的目的档格式,但其也声称可以在没有额外抽象层的情况下有更清晰且更快的实作。作者提到了完全移除BFD作为从头开发新连结器而非逐步改进GNU连结器的原因[4]。这个重写也修复了旧的ld的一些Bug,这些Bug以各种小问题破坏ELF档案[5]。
要在Makefile中指定gold,可以将LD或LD环境变量设定为ld.gold
。要透过编译器选项指定gold
,可以使用GCC选项-fuse-ld=gold
。
Fedora已将gold从binutils移转到自己的软件包中,因为担心在Google的兴趣转移到LLVM后会有软件腐败的问题[6]。
Remove ads
参见
- 执行档格式比较,也适用于PE/COFF (Windows)以及Mach-O (Mac OS X)格式。
参考资料
外部链接
Wikiwand - on
Seamless Wikipedia browsing. On steroids.
Remove ads