有没有办法在JVM上运行普通的c代码?
不通过JNI连接,运行,就像你可以通过JRuby运行ruby代码,或通过Rhino运行javascript.
如果没有当前的解决方案,您会建议我应该做什么?
显然,我想尽可能多地使用部分解决方案来实现它.
ANTLR似乎是一个很好的起点,拥有完整的"ANSI C"语法实现......
我应该使用ANTLR生成的代码在JVM上构建一个"玩具"VM吗?
更新日期2012-01-26:根据公司网站上的此页面,该产品已被买断,不再可用.
是.
这是一个生成JVM字节码的商业C编译器.
还有两种可能性,都是开源的:
JPC在JVM中模拟整个x86 pc,并且能够运行DOS和Linux.
NestedVM为Java字节码提供二进制转换.这是通过将GCC编译为MIPS二进制文件来完成的,然后将其转换为Java类文件.因此,用C,C++,Fortran或GCC支持的任何其他语言编写的任何应用程序都可以在没有源更改的情况下以100%纯Java运行.
也许不完全是你需要的,但商业选择是http://www.axiomsol.com/