在 JVM 上运行/解释 C?

2022-09-01 12:00:54

有没有办法在JVM上运行普通的c代码?
不要通过JNI连接,运行,就像你可以通过JRuby运行ruby代码,或者通过Rhino运行javascript一样。

如果没有当前的解决方案,您会建议我该怎么做?
显然,我想使用尽可能多的部分解决方案来实现它。

ANTLR似乎是一个很好的起点,有一个完整的“ANSI C”语法实现......
我应该使用ANTLR生成的代码在JVM上构建一个“玩具”VM吗?


答案 1

2012-01-26 更新:根据公司网站上的此页面,产品已被购买,不再可用。

是的。

这是一个生成JVM字节码的商业C编译器


答案 2

还有另外两种可能性,都是开源的:

JPC在JVM中模拟整个x86 pc,并且能够同时运行DOS和Linux。

NestedVM 为 Java Bytecode 提供二进制转换。这是通过让GCC编译为MIPS二进制文件来完成的,然后将其转换为Java类文件。因此,任何用C,C++,Fortran或GCC支持的任何其他语言编写的应用程序都可以在100%纯Java中运行,而无需更改源代码。


推荐