我已经编写了一个用于输出字节代码的C编译器。这是为了能够为在多个平台上运行的嵌入式平台编写应用程序。如何编写链接器
我有编译器和汇编器。
我需要写一个链接器,并卡住了。
对象格式是一个自定义的,围绕字节代码解释器设计的,所以我不能真正使用任何现有的链接器。
我最大的障碍是如何组织目标代码来输出链接的二进制文件。 动态链接在这个时候是没有必要的。 我需要先静态链接工作。
我已经编写了一个用于输出字节代码的C编译器。这是为了能够为在多个平台上运行的嵌入式平台编写应用程序。如何编写链接器
我有编译器和汇编器。
我需要写一个链接器,并卡住了。
对象格式是一个自定义的,围绕字节代码解释器设计的,所以我不能真正使用任何现有的链接器。
我最大的障碍是如何组织目标代码来输出链接的二进制文件。 动态链接在这个时候是没有必要的。 我需要先静态链接工作。
http://linker.iecc.com是我知道的关于这个主题的唯一一本书。
我是连接器和装载机的第二本书。你声明你的对象格式是一个自定义的。如果格式在你的控制之下,你可以考虑使用ELF格式和你的字节码作为新的机器架构,la x86,SPARC,ARM等。GNU binutils源代码足够可塑,可以让你将“架构” 。
Ian Lance Taylor是金链接器(现在是binutils的一部分)的主要开发人员之一,发布了一系列关于链接器如何工作的博客。你可以找到它here。
令人敬畏的书,说实话。 – dirkgently 2009-10-21 20:21:46