当前位置: 首页 > 面试题库 >

编译为Java字节码(不使用Java)

周良弼
2023-03-14
问题内容

我的编译器类正在创建一种我们打算编译为Java字节码的语言。我们已经取得了很大的进步,并且正在接近代码生成的时间。

我们在查找有关如何从编译器创建.class文件的信息时遇到问题。您有什么资源可以为我们提供帮助吗?我们已经有很多关于指令集的文档,但是需要有关如何直接填写类文件/十六进制编写的信息。

我们不需要有关反编译.class文件的信息或建议。

即使是从头开始编写.class文件的简单示例,也将是极好的。

JVM规范不是我们所追求的。 我们真正需要的是一个示例或演练。


问题答案:

VM规范:类文件格式和Java虚拟机指令集应该做到这一点。

您可能会从Byte Code Engineering
Library(BCEL)中找到一些灵感,以及Findbugs(它必须读取/理解类文件)。



 类似资料:
  • 问题内容: 我们想在JVM上运行C#代码 我公司的C#代码库很大。这段代码的一半以上是我们用于创建,读取,修改,计算和编写Excel工作簿的核心引擎。我们经常收到来自客户和潜在客户的问题,询问我们是否要构建引擎的Java版本- 他们中的许多人对UI完全不感兴趣。我们甚至有一些客户不愿意从其Java应用程序中使用.NET库。 因此,我们希望构建Java版的核心引擎,理想情况下无需维护单独的Java源

  • 问题内容: 如果我有一个字节变量: 为什么以下工作: …但这不是吗? 编译器第一理解为第二吗? [编辑] 我知道演员,但我想提请您注意 我认为它们是平等的,那么为什么编译器会有所不同呢?之间有什么区别 问题答案: 因为是的等效项,而的类型被提升为(JLS§5.6.2二进制数值提升),因此,如果不进行显式转换,则不能将其结果分配给它。 根据JLS,§15.26.2复合赋值运算符: 形式为E1 op

  • 问题内容: 我目前正在翻译中编写一个针对Java字节码的玩具编译器。 我想知道是否可以在编写.class文件之前在发出的字节码中进行各种简单的窥孔优化的目录,也许是摘要。我实际上知道一些具有此功能的库,但是我想自己实现。 问题答案: 您知道Proguard吗?http://proguard.sourceforge.net/ 这是一个很棒的字节码优化器,它实现了很多优化。请参阅常见问题解答以获取列表

  • 拾取java_tool_options:'-dfile.encoding=utf8' > ////由Procyon v0.5.30反编译//

  • 导航 目录 上一章:Lua 与 C/C++ 交互 下一章:LuaJIT 介绍

  • 问题内容: 我遇到了一些有关JVM / JIT活动的参考,其中似乎在编译字节码和解释字节码之间有区别。该特定注释声明的字节码在前10000次运行时进行解释,然后进行编译。 “编译”和“解释”字节码之间有什么区别? 问题答案: 解释字节码基本上是逐行读取字节码,不进行任何优化或任何操作,然后对其进行解析并实时执行。由于许多原因,这种方法效率低下,其中包括Java字节码设计得不能快速解释的问题。 编译