【发布时间】:2009-03-27 00:43:44
【问题描述】:
我的编译器类正在创建一种我们打算编译为 Java 字节码的语言。我们已经取得了很大进展,并且已经接近生成代码的时间了。
我们在查找有关如何从我们的编译器创建 .class 文件的信息时遇到问题。你有什么资源可以给我们一些帮助吗?我们已经有很多关于指令集的文档,但是需要关于如何直接填写类文件/十六进制编写的信息。
我们不需要有关反编译 .class 文件的信息或建议。
即使是从头开始写出 .class 文件的简单示例也非常棒。
JVM 规范不是我们所追求的。我们真正需要的是示例或演练。
【问题讨论】:
-
我刚刚写了一个类文件解析器...您需要发出字节码的信息包含在第 4 章中。您发现第 4 章具体缺少什么?
-
能给我们一个教程或例子吗?
-
查看我的更新,但我认为您需要更具体地说明发出您不理解的类文件的哪一部分。
-
确实如此。类文件格式就是“如何直接填写类文件/写十六进制的信息”。
-
我建议用 Java 编写一个最小的类,编译它,然后用十六进制调试器和规范查看类文件——最好做很多笔记。使用 BCEL 或类似的东西会更快,但你会学到更少。
标签: java compiler-construction bytecode