Ouvrir le menu principal
GCJ
Description de l'image Gcj2.png.
Description de l'image Gcj.png.
Informations
Développé par GNU.org
Première version 1998[1]
Dernière version 6.5.0 ()
Dépôt svn://gcc.gnu.org/svn/gcc/trunk ou https://gcc.gnu.org/git/gcc.git
État du projet Abandonné
Système d'exploitation Type UnixVoir et modifier les données sur Wikidata
Environnement Machine virtuelle JavaVoir et modifier les données sur Wikidata
Type AOT compiler (d)Voir et modifier les données sur Wikidata
Licence Licence publique générale GNUVoir et modifier les données sur Wikidata
Site web gcc.gnu.org/java et gcc.gnu.orgVoir et modifier les données sur Wikidata

GCJ (GNU Compiler for Java) était le compilateur Java du projet GNU, sous licence libre. Il a été un des composants de GCC de la version 3 jusqu'à la version 6, avant d'en être retiré à partir de la version 7[2].

Contrairement au compilateur du SDK Java de Sun Microsystems produisant exclusivement du bytecode Java, gcj opte pour une approche traditionnelle en produisant du code natif pour l'architecture matérielle[3]. De plus GCJ est également capable de fonctionner comme un compilateur Java classique en produisant du bytecode, et permet également de transformer du bytecode vers du code natif. La plupart des bibliothèques Java utilisées par GCJ viennent du projet GNU Classpath et forment la librairie libgcj.

L'utilisation du code natif permet d'augmenter sensiblement la rapidité d'exécution, au détriment de la portabilité.

gcj étant intégré à la suite de compilateur GCC permet d'utiliser tous les outils de celle-ci, notamment le débogueur gdb.

D'importants efforts de développement ont été effectuées durant la première moitié des années 2000 afin de constituer une plateforme java libre[4], et gcj commençait à être intégré dans les distributions linux[5]. Mais suite au passage sous licence libre de java en 2006[6], une grande partie de la communauté open source java s'est tourné vers OpenJDK diminuant l'attrait de ce projet. Le retrait de gcj, évoqué en 2013[7], est effectif depuis la version 7 de GCC.

Lien externeModifier

Notes et référencesModifier

  1. « Annonce de la première version de gcj »,
  2. (en) « The GCC Java front end and associated libjava runtime library have been removed from GCC. », sur gnu.org, .
  3. (en) Per Bothner, « Compiling Java with GCJ », Linux Journal,‎ (lire en ligne)
  4. Richard Stallman, « Libre mais entravé - le piège Java », sur gnu.org,
  5. (en) Bruce Byfield, « The GNU Compiler for Java comes of age »,
  6. (en) Matt Lee, « Sun begins releasing Java under the GPL », sur fsf.org,
  7. (en) Michael Larabel, « GCC Looks To Turn Off Java, Replace With Go Or ADA », Phoronix,‎ (lire en ligne)