链接器如何以及为什么首先作为与编译器分开的工具开发?

时间:2010-07-27 20:52:41

标签: linker history

基本上,我只是对历史感到好奇。

第一个链接器是什么时候写的?当时的理由是什么?例如。多语言发展是个问题吗?它的目标是什么平台?支持哪些语言和编译器?他们经历了哪些有趣的阶段?

3 个答案:

答案 0 :(得分:3)

根据约翰莱文的Linkers and Loaders,这个概念至少在1947年出现,到20世纪60年代,现代连锁编辑得到了重大发展。它们用于允许重用由需要它们的各种程序单独开发的模块库。我建议您阅读文字(以上链接来自Google图书搜索)以获取更多信息。

答案 1 :(得分:1)

毫无疑问,这里有一两个人比我年长,但我知道当我在70年代末开始编码时,编译语言(特别是成员)已经有了几十年的独立链接器。您需要像链接器这样的东西来处理单独编译的源文件,即使在汇编程序中也是如此。

回顾一下,当你第一次开始使用可重定位的符号地址进行系统调用时,你会开始需要一个符号链接器,而不是仅仅捕获到一些众所周知的位置。

答案 2 :(得分:1)

链接器是独立程序的原因是,在过去RAM内存非常低,需要拆分编译器和链接器。我已经看到了一个非常古老的fortran编译器,它可以处理16 KB的RAM,但必须通过不同的传递。链接只是其中的一小部分。