GNU Compiler for Java
Parte de GNU Compiler Collection

GCJ ejecutado en una consola dentro de gnome-terminal
Información general
Tipo de programa compilador anticipado
Autor Cygnus Solutions
Desarrollador Proyecto GNU
Lanzamiento inicial 1998
Licencia GPL
Estado actual Discontinuado (desde 2016)[1]
Información técnica
Plataformas admitidas máquina virtual Java
Versiones
Última versión estable 6.526 de octubre de 2018
Enlaces

GNU Compiler for Java (en español Compilador de java de GNU), cuyo acrónimo es GCJ, fue un compilador para el lenguaje de programación Java que forma parte del proyecto GCC.

GCJ no es sólo un compilador, sino que también proporciona las bibliotecas y herramientas relacionadas con la implementación de Java de GNU.

Historia

editar

Anthony Green el 30 de junio de 1998, publicó el documento original de diseño con el cual empezó GCJ. La idea inicial fue crear un compilador clásico que compilase java a binarios normales del sistema, que no requiriesen un intérprete JIT para funcionar, ahorrando así recursos en el software compilado con GCJ.

Sin embargo, para hacer a GCJ más compatible con las aplicaciones java existentes, se agregó a libgcj (la biblioteca de gcj) soporte para interpretar archivos .class y .jar en tiempo de ejecución.

Con el tiempo, surgieron dos formas de ver java dentro de GNU:

  • La forma tradicional, compilándolo a código nativo del sistema operativo y haciéndolo compatible con todo gcc.
  • Interpretando archivos .class y .jar, el problema es que para compilarlo, en algunos casos, hay que hacer modificaciones al programa a compilar, lo cual es un impedimento.

Una de las metas de gcj es conseguir compilar a código nativo software java sin modificar nada de su código.

En el 2004 Tom Tromey inició el proyecto GNU Gcjx, una implementación alternativa y experimental de GCJ, la cual pretende ser más clara y sencilla

El 30 de septiembre de 2016, GCJ fue eliminado del proyecto GCC. Su discontinuación fue anunciada con la salida de la versión 7.1 de GCC.[1]

Implementación

editar

GCJ es un compilador de java a código nativo y un intérprete en tiempo de ejecución, lo que lo convierte en una máquina virtual de Java.

Está integrado dentro de ecj, el compilador de java para Eclipse.

CNI

editar

CNI son las siglas de "Compiled Java Native interface", (en español "Interfaz nativo para java compilado"), es un Framework para hacer posibles las llamadas a bibliotecas comunes del sistema operativo desde java y hacer llamadas desde las bibliotecas, a bibliotecas java.

Esto permite utilizar código java como bibliotecas en programas en C++, por ejemplo.

GIJ

editar

GIJ (GNU interpreter for Java, o en español "Intérprete de Java para GNU"), es parte del proyecto GCJ y es quien interpreta código java en tiempo de ejecución.

Classpath

editar

Java dispone de un conjunto de clases que el programador puede utilizar cuando desarrolla en dicho lenguaje. GCJ se unió con el proyecto GNU Classpath que es una implementación libre de dichas clases, para así disponer esas clases en GCJ.

Arquitecturas

editar

En la versión 4.2 se incluye soporte para:

Referencias

editar
  1. a b «GCC 7 Release Series - GNU Project». gcc.gnu.org. Consultado el 20 de enero de 2025. 

Véase también

editar

Enlaces externos

editar

📚 Artikel Terkait di Wikipedia

JavaCC

JavaCC (Java Compiler Compiler) es un generador de analizadores sintácticos de código abierto para el lenguaje de programación Java. JavaCC es similar

GNU Compiler Collection

El GNU Compiler Collection (colección de compiladores GNU) es un conjunto de compiladores creados por el proyecto GNU. GCC es software libre y lo distribuye

Dalvik

footprint. The VM is register-based, and runs classes compiled by a Java language compiler that have been transformed into the.dex format by the included "dx"

FreeTTS

optimizations and relying on the aggressive optimizations performed by the Java HotSpot compiler, we were pleased to find that FreeTTS runs two to four times faster

Jabaco

Programming Language, página oficial del proyecto Jabaco Write VB6 Code for the Java Platform Using the New Jabaco Compiler Jabaco-Wiki Datos: Q2880841

Código muerto

S. S. 1997 Advanced Compiler Design and Implementation. Morgan Kaufmann. Appel, A. W. 1998 Modern Compiler Implementation in Java. Cambridge University

Jikes

desarrollado.​​ «jikes - java source to bytecode compiler» (en inglés). Consultado el 3 de octubre de 2020.  «IBM Jikes Compiler for the Java Language» (en inglés)

Google Web Toolkit

componentes:​ GWT Java-to-JavaScript Compiler: la función de este componente es traducir el código desarrollado en Java al lenguaje JavaScript. Lo empleamos