¿Hay alguna forma de compilar desde Java a código de máquina independiente (o biblioteca) sin requerir una JVM?
java
compilation
native-code
barroco
fuente
fuente
Respuestas:
Solía haber una herramienta llamada GCJ que formaba parte de GCC, pero ha sido eliminada . Ahora, todos los enlaces en el sitio de GCC redirigen a sus equivalentes que no son de GCJ.
NB: todos los comentarios se referían a mi respuesta original que decía que puede compilar Java en código nativo con GCJ.
fuente
¡Si!
Oracle ha estado trabajando en GraalVm, que admite imágenes nativas. Consulte aquí: https://www.graalvm.org/
Ver más:
Resumen
https://www.graalvm.org/docs/getting-started/#native-images
Demos: imágenes nativas para un inicio más rápido
https://www.graalvm.org/docs/examples/native-list-dir/
Detallado: 'Compilación anticipada'
https://www.graalvm.org/docs/reference-manual/aot-compilation/
fuente
Windows
solo funcionan los programas de juguetes, pero cualquier cosa más avanzada y / o cuando se usa unGUI
todavía no funciona.Twitter
probablemente useLinux
sin ninguno,GUI
pero probablemente también usen la versión comercial, mientras que yo solo probé la comunitaria. Puede funcionar para algunos casos de uso, peroWindows
las aplicaciones de escritorio Java no son una de ellas, lo que aún hace que el proyecto sea un poco decepcionante.Excelsior JET
podría hacer esto de manera confiable, pero ahora está descontinuado.Excelsior JET es un compilador comercial de Java a código nativo. Sin embargo, se suspendió en mayo de 2019.
fuente
Sí, el JIT en la JVM hace exactamente eso por usted.
De hecho, puede producir código más rápido que compilar el código por adelantado, ya que puede generar código optimizado para la plataforma específica en función de cómo se usa el código en tiempo de ejecución.
La JVM siempre está involucrada incluso si se compila un porcentaje muy alto en código nativo, ya que podría cargar y ejecutar código de bytes de forma dinámica.
fuente
Otra posibilidad sería
RoboVM
. Sin embargo, sólo parece funcionar enLinux
,iOS
yMac OS X
.A día de hoy, el proyecto todavía parece algo vivo, contrariamente a algunas publicaciones en línea que afirman que el proyecto está muerto .
fuente