2010-10-27 14 views
33

A partir de octubre de 2010, ¿está GNU's Java compiler muerto? ¿Hay alguna alternativa activa (especialmente para compilar Java a código nativo)?¿Está muerto el compilador Java (GCJ) de GNU?

Se prefieren las soluciones LLVM.

+1

@ org.life.java, no sabía OpenJDK podría crear binarios nativos, ¿tiene un ejemplo? – mikerobi

+0

@mikerobi mi error probablemente: p –

+0

Um, ¿dónde viste que estaba muerto? No se ve muerto desde la página vinculada. –

Respuesta

23

Puede usar el compilador de IKVM y Mono antes de tiempo para generar el código nativo.

EDITAR

Hay un ejemplo en la parte inferior de this page.

+4

IKVM no crea código nativo. Produce solo otro tipo de código de bytes para el universo .NET. – Horcrux7

+2

@ Horcrux7, lea mi respuesta con más cuidado y visite el enlace. Mono puede generar código máquina nativo desde .NET bytecode. Entonces, en combinación con IKVM, puede producir código nativo. – mikerobi

+3

Obviamente, quien sea que esté abajo votando no leyó el PO o mi respuesta, o no me cree. En realidad mira el enlace que proporcioné. Pidió alternativas para la generación de código nativo, y eso es lo que le di. – mikerobi

1

Creo que no es que esté muerto. Tiene solo algunos importantes. Lo que resulta en un desarrollo lento. Hay 3 de hecho porque tiene pocos hoy en día:

  • Se basa en el Classpath de GNU. Como Java es de código abierto (OpenJDK), no hay una gran necesidad de otro código abierto de Java. Esto ha ralentizado la velocidad de desarrollo.
  • El Java fue más rápido en los últimos años. La salida de GCJ no es más rápida. En muchos casos es más lento.
  • El Classpath de GNU tiene muchas incompatibilidades.
+4

1 año sin una actualización se ha convertido en 6. Está muerto. –

+2

Oficialmente muerto desde el pasado mes de octubre: http://tromey.com/blog/?p=911 – Matthieu

19

Una pregunta más pertinente sería si alguna vez estuvo realmente viva. Tenga en cuenta estas cuestiones, desde su propio sitio web:

  • 1,2 apoyo es 'aún incompleta'.
  • 1.3 ídem.
  • El proyecto se actualizó por última vez hace más de un año [hasta octubre de 2009].
  • Actualmente 'admite la mayoría de las bibliotecas 1.4 más algunas adiciones de 1.5.'
  • No admite java.nio.
  • No es compatible con javax.naming ('completo pero no proveedores').
  • No es compatible con javax.sql.
  • No es compatible con AWT o Swing.
  • No admite la localización a través de java.text.
  • El estado de java.security es 'desconocido'.
  • No verifica los permisos en java.lang.reflect.
  • ¿Recopila genéricos?
  • Grandes fragmentos que faltan en otros paquetes, p. casi el 50% de java.util.
  • Sin anotaciones.
  • Sin motor de script.
  • Casi todos los de javax.xml.* (recursivamente) faltan.
  • Sin org.omg.CORBA.
  • Prácticamente sin org.w3c.
  • comparación actual con JDK 1.6 es here. Tenga en cuenta que esto parece agregar porcentajes para dar un total completamente sin sentido.

Y tenga en cuenta que no está facturado como un 'compilador de Java'. Es un compilador para un subconjunto de Java conocido como GNU CLASSPATH. Que a su vez no se ha actualizado desde febrero de 2009.

Si no está muerto, sin duda está acostado.

EDIT Está muerto. GCJ ya no es listed as a GNU package. Y después de cuatro años de actividad cero, tenemos derecho a suponer lo mismo sobre GNU CLASSPATH.

+2

GNU Classpath se actualizó en marzo de 2012: http://savannah.gnu.org/forum/forum.php?forum_id=7156 –

+1

@JanusTroelsen Y no ha sido actualizado posteriormente, a pesar de que estoy escribiendo esto casi tres años después de publicar mi respuesta, y seis meses después de su comentario. Prueba el punto, * nicht war? * Tampoco veo nada en esa página que corrija incluso la mayoría de las numerosas deficiencias que he citado, directamente desde su propio sitio. – EJP

+2

Y pronunciado muerto por uno de sus autores, a partir de octubre de 2016: http://tromey.com/blog/?p=911 – Matthieu