Pregunta

¿Hay alguna forma de ejecutar código c simple sobre la JVM?
No se conecta a través de JNI, en ejecución, como puede ejecutar código ruby ??a través de JRuby, o javascript a través de Rhino.

Si no hay una solución actual, ¿qué recomendaría que hiciera?
Obviamente, quiero usar tantas soluciones parciales como pueda para que esto suceda.

ANTLR parece ser un buen lugar para comenzar, ya que tiene un " ANSI C " implementación de gramática ...
¿Debería construir un " juguete " VM a través de la JVM usando el código generado por ANTLR?

¿Fue útil?

Solución

Actualizado el 2012-01-26: De acuerdo con esta página en el sitio de la compañía el producto ha sido comprado y ya no está disponible.

Sí.

Aquí hay un compilador de C comercial que produce el código de bytes JVM .

Otros consejos

Hay otras dos posibilidades, ambas de código abierto:

JPC emula una PC x86 completa dentro de la JVM, y es capaz de ejecutar DOS y Linux .

NestedVM proporciona traducción binaria para el Bytecode de Java. Esto se hace haciendo que GCC compile a un binario MIPS que luego se traduce a un archivo de clase Java. Por lo tanto, cualquier aplicación escrita en C, C ++, Fortran o cualquier otro lenguaje compatible con GCC se puede ejecutar en Java 100% puro sin cambios en la fuente.

Quizás no sea exactamente lo que necesita, pero una opción comercial es http://www.axiomsol.com/

Parece que LLJVM también puede cumplir su requisito.

LLJVM: el código fuente se compila primero en la representación intermedia de LLVM (IR) mediante una interfaz como llvm-gcc o clang. LLVM IR luego se traduce al código de ensamblaje de Jasmin, se vincula con otras clases de Java y luego se ensambla a bytecode JVM.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top