题
有没有办法在JVM上运行普通的c代码?
不通过JNI连接,运行,就像你可以通过JRuby运行ruby代码,或通过Rhino运行javascript。
如果目前没有解决方案,你会建议我做什么?
显然,我想尽可能多地使用部分解决方案来实现它。
ANTLR似乎是一个很好的起点,拥有一个完整的“ANSI C”。语法实现......
我应该建立一个“玩具”吗?使用ANTLR生成的代码在JVM上运行VM?
解决方案
其他提示
可能不完全符合您的要求,但商业选择是 http://www.axiomsol.com/
LLJVM 似乎也可以满足您的要求。
LLJVM:源代码首先由llvm-gcc或clang等前端编译为LLVM中间表示(IR)。然后将LLVM IR转换为Jasmin汇编代码,与其他Java类链接,然后汇编为JVM字节码。
截至2016年,有一个年轻但有前途的选择,名为 gcc-桥。它的目的是利用JVM的R实现。目标是使用用C或Fortran编写的R库。但是gcc-bridge可以作为常规的maven插件独立使用。另请参阅 gcc-brigde-example 。
不隶属于 StackOverflow