GNU Compiler Collection

Page d'aide sur l'homonymie Pour les articles homonymes, voir GCC.
GNU Compiler Collection

Image illustrative de l'article GNU Compiler Collection

Développeur Projet GNU
Première version 23 mai 1987 [1]
Dernière version 6.2.0 () [2] Voir et modifier les données sur Wikidata
Écrit en C++ Voir et modifier les données sur Wikidata
Environnement Multiplateforme
Type Compilateur Voir et modifier les données sur Wikidata
Licence GPL-3.0 Voir et modifier les données sur Wikidata
Site web gcc.gnu.org

GNU Compiler Collection, abrégé en GCC, est un ensemble de compilateurs créés par le projet GNU. GCC est un logiciel libre capable de compiler divers langages de programmation, dont C, C++, Objective-C, Java, Ada et Fortran.

GCC est utilisé pour le développement de la plupart des logiciels libres. Le noyau Linux dépend notamment étroitement des fonctionnalités de GCC.

Présentation

GCC a été conçu pour remplacer le compilateur C fourni en standard sur le système d'exploitation Unix, qui s'appelle CC. GCC signifiait à l'origine GNU C Compiler, soit le « compilateur C de GNU ». Comme GCC est très extensible, le support de nombreux autres langages a été ajouté et le nom officiel a été changé en GNU Compiler Collection.

En pratique, l'abréviation GCC est utilisée pour nommer trois entités légèrement différentes :

  1. la collection complète de compilateurs (le « projet GCC ») ;
  2. la partie commune à tous les compilateurs (« GCC ») ;
  3. le compilateur C lui-même (le frontend « gcc », écrit en minuscule).

Pour faire référence précisément aux compilateurs de chaque langage, on parle de :

Il existe de nombreux autres compilateurs basés sur GCC qui ne font pas partie de la distribution standard du projet GCC.

Extensibilité par des greffons

Depuis la version 4.5 (et surtout 4.6), les compilateurs GCC sont extensibles par des greffons ("plugins"). Ceux-ci doivent être du logiciel libre et peuvent ajouter des passes d'optimisations, des pragmas, builtins ou attributs (mais ne peuvent pas étendre la syntaxe acceptée par GCC). Il existe quelques greffons pour GCC: Mozilla avait développé Tree Hydra (abandonné). gcc python plugin permet d'étendre GCC avec des scripts Python, notamment pour vérifier du code C pour Python. MELT est un langage spécifique, inspiré de Lisp pour étendre GCC.

Débogage

Article détaillé : GNU Debugger.

GCC dispose également d'un outil de débuggage, GNU Debugger (gdb). Bien que ne faisant pas partie de GCC, Valgrind est cependant préféré pour des tests plus en profondeur, notamment pour rechercher les fuites de mémoire.

Portabilité

GCC a été porté sur un nombre considérable de systèmes d'exploitation (pratiquement toutes les variantes d' Unix, VMS, Windows et MS-DOS via DJGPP) et de microprocesseurs ( AMD64, ARM, DEC Alpha, M68k, MIPS, PowerPC, SPARC, x86, Hitachi H8).

Limitations

GCC, pour le langage C, ne supporte pas les identificateurs Unicode.

Other Languages
български: GNU Compiler Collection
čeština: GCC
Чӑвашла: GNU Compiler Collection
dansk: GCC
Esperanto: GCC
فارسی: جی‌سی‌سی
suomi: GCC
עברית: GCC
हिन्दी: जीसीसी
Հայերեն: GCC
ქართული: GNU Compiler Collection
Latina: GCC
lietuvių: GCC
русский: GNU Compiler Collection
українська: GNU Compiler Collection
Tiếng Việt: Bộ trình dịch GNU
中文: GCC