2010-11-19 16 views
30

Al compilar C++, por supuesto, utiliza un compilador para la plataforma de destino para la que desea compilar. ¿Hay un compilador de C++ que se dirija a la JVM (por lo que, en lugar de utilizar la interfaz "nativa" de Java, el código de C++ se compila en el código de bytes de Java)?Compilación de C++ para la JVM

+1

http://stackoverflow.com/questions/421951/running-interpreting-c-on-top-of-the-jvm – chrisaycock

+0

http://en.wikipedia.org/wiki/Java_Virtual_Machine#C_to_bytecode_compilers – chrisaycock

+0

lo preguntas esta pregunta porque tiene alguna biblioteca C++ que desea usar desde Java y desea evitar el uso de JNI? Si es así, tenga en cuenta que si su código C++ utiliza librerías específicas de la plataforma, no podrá llamarlas sin usar JNI ... –

Respuesta

22

NestedVM proporciona la traducción binaria para Java Bytecode. 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 admitido por GCC puede ejecutarse en Java 100% puro sin cambios de fuente.

+0

¿Por qué querría ejecutar un programa C o C++ en Java VM? – TheLQ

+4

@TheLQ ¿Tal vez el OP sentía envidia de C++/CLI? – chrisaycock

+0

De hecho, encontré esto de forma independiente (recordé algo acerca de GCC MIPS, por lo que busqué en Google "GCC MIPS JVM"). Pero en retrospectiva, no es sorprendente que ya haya estado en una respuesta en SO. – ephemient

3

Como he respondidos en este SO question similares Hay un chico nuevo en la ciudad llamada gcc-bridge. Es un plugin de maven y es compatible con todos los lenguajes de gnu como c, C++, fortran.

Cuestiones relacionadas