正如你可能从标题中看到的,出于某种原因,我需要让在Minix上运行.class文件成为可能(不需要编译器)。那么谁能给我指个方向,推荐一些文献或者给我一些建议?一般来说,你会怎么做呢?
到目前为止,我找到了OpenJDK (但它并不完全是我要找的)。我也读过Tanenbaum的“操作系统设计和实现”。它让我对minix的内部结构有了很深的了解。
发布于 2012-12-14 09:42:08
如果您只想运行.class文件,而不太关心性能,那么可以创建一个字节码解释器,这可能比移植/创建一个完整的编译器更简单。您可以找到这些类文件的格式、详细的here以及VM指定的here的行为。
您还需要选择一个运行时-- OpenJDK和GNU Classpath可能是最好的选择--并通过用C实现其native方法将其移植到MINIX。native方法通常涉及特定于平台的内容,如对文件I/O的调用,因此不能在独立于平台的Java语言中实现。
在this wiki page上还有许多其他的链接和资源,您可能会发现它们很有用。
发布于 2020-04-12 00:06:33
Jainja JVM (我是作者)可以在Minix3.2上工作(没有在3.3上测试过)。它是一个带有Java5标准库的解释器(即没有JIT)。使用X11后端对AWT/Swing的支持是有限的。
https://stackoverflow.com/questions/13868601
复制相似问题