25

我为 C 编写了一个编译器,它输出字节码。这样做的原因是能够为在多个平台上运行的嵌入式平台编写应用程序。

我有编译器和汇编器。

我需要编写一个链接器,并且被卡住了。

对象格式是一种自定义格式,围绕字节码解释器设计,所以我不能真正使用任何现有的链接器。

我最大的障碍是如何组织目标代码以输出链接的二进制文件。目前不需要动态链接。我需要先让静态链接工作。

4

3 回答 3

26

Ian Lance Taylor 是黄金链接器(现在是 binutils 的一部分)的主要开发人员之一,他发布了一系列关于链接器如何工作的博客。你可以在这里找到它。

于 2010-12-05T00:54:25.570 回答
25

http://linker.iecc.com是我知道的关于这个主题的唯一一本书。

于 2009-10-21T19:26:31.967 回答
5

我支持链接器和加载器这本书。您声明您的对象格式是自定义格式。如果格式在您的控制之下,您可以考虑将 ELF 格式与您的字节码一起用作新的机器架构、la x86、SPARC、ARM 等。GNU binutils 源代码具有足够的延展性,可以让您合并您的“架构” .

于 2009-10-21T20:05:02.107 回答