GNU Compiler Collection
Source: Wikipédia sous licence CC-BY-SA 3.0.
La liste des auteurs de cet article est disponible ici.
Langages à objets
C++ - C# - D
Delphi - Eiffel - Groovy
Java - Python - Ruby
Simula - Smalltalk
Visual Basic - Lisaac - WinDev
Langages impératifs
APL - ASP - Assembleur
BASIC (En programmation, BASIC est un acronyme pour Beginner's All-purpose Symbolic Instruction Code. qui désigne une famille de langages de programmations de haut niveau.) - C - Cobol (COBOL est un langage de programmation de troisième génération créé en 1959 (officiellement le 18 Septembre 1959). Son nom est l'acronyme de COmmon Business Oriented Language qui...)
Forth - Fortran - Limbo
Logo - Pascal - Perl - PHP (PHP (sigle de PHP: Hypertext Preprocessor), est un langage de scripts libre principalement utilisé pour produire des pages Web dynamiques via un serveur...)
Langages fonctionnels
Haskell - ML/OCaml
Lisp/Common Lisp
Scheme - XSLT
Langages déclaratifs
Clips - Prolog
Langages concurrents
Ada 95 - Erlang
Voir aussi
Conception - Codage (De façon générale un codage permet de passer d'une représentation des données vers une autre.)
Tests - Optimisations

En informatique (L´informatique - contraction d´information et automatique - est le domaine d'activité scientifique, technique et industriel en rapport avec le...), GCC, abréviation de GNU Compiler Collection (En informatique, GCC, abréviation de GNU Compiler Collection, est le compilateur créé par le projet GNU. Il s'agit d'une collection de logiciels libres intégrés capables de...), est le compilateur créé par le projet (Un projet est un engagement irréversible de résultat incertain, non reproductible a priori à l’identique, nécessitant le concours et...) GNU (GNU est un système d'exploitation composé exclusivement de logiciels libres.). Il s'agit d'une collection de logiciels libres intégrés capables de compiler divers langages de programmation (La programmation dans le domaine informatique est l'ensemble des activités qui permettent l'écriture des programmes informatiques. C'est une étape...), 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 (Le noyau Linux est un noyau de système d'exploitation de type UNIX. Le noyau Linux est un logiciel libre développé essentiellement en C par une large communauté de contributeurs. Formellement,...) dépend notamment étroitement des fonctionnalités de GCC.

Présentation

GCC a été conçu pour remplacer le compilateur C fourni (Les Foúrnoi Korséon (Grec: Φούρνοι Κορσέων) appelés plus communément Fourni, sont un archipel de petites...) 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 (note : sans " s " à Compiler).

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 ;
  2. la partie commune à tous les compilateurs ;
  3. le compilateur C lui-même.

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

  • GCC pour C ;
  • G++ pour C++ ;
  • GCJ pour Java ;
  • GNAT pour Ada ;
  • Gfortran pour Fortran ;
  • GPC pour le Pascal.

Débogage

GCC dispose également d'un outil (Un outil est un objet finalisé utilisé par un être vivant dans le but d'augmenter son efficacité naturelle dans l'action. Cette augmentation se traduit...) de débuggage, GNU Debugger (Le GNU Debugger également appelé gdb est le débogueur standard du projet GNU. Il est portable sur de nombreux systèmes type Unix et fonctionne pour plusieurs langages de programmation, comme le C,...) (gdb). Bien que ne faisant pas partie de GCC, Valgrind est cependant préféré pour des tests plus en profondeurs, notamment pour rechercher les fuites de mémoire (D'une manière générale, la mémoire est le stockage de l'information. C'est aussi le souvenir d'une information.).

Portabilité (Selon le contexte, le mot portabilité peut avoir plusieurs significations :)

GCC a été porté sur un nombre (La notion de nombre en linguistique est traitée à l’article « Nombre grammatical ».) considérable de systèmes d'exploitation (pratiquement toutes les variantes d'Unix, VMS, Windows) et de microprocesseurs (AMD64, ARM, DEC Alpha, M68k, MIPS, PowerPC (Le PowerPC est une architecture de microprocesseurs développée conjointement par Apple, IBM et Freescale (ex-Motorola Semiconducteurs). Elle utilise un modèle RISC, privilégiant pipeline et jeu...), SPARC, x86 (La famille x86 regroupe les microprocesseurs compatibles avec le jeu d'instructions de l'Intel 8086. Cette série est nommée IA-32 (pour Intel architecture 32 bits) par Intel pour ses processeurs à...), Hitachi H8).

Histoire

Le développement de GCC a commencé en 1985 par Richard Stallman, fondateur de la Free Software Foundation, dans un "dialecte" non portable de Pascal. Avec l'aide de Len Tower, il réécrit GCC en C ANSI et le publie en 1987 comme le compilateur du projet GNU.

En 1992, la version 2.0 apporte en plus des nombreuses optimisations, le support du langage C++.

En 1997, un groupe de développeurs trouve le modèle de développement lent et peu propice aux améliorations, ils décident alors de faire un fork (Fork est un mot anglais signifiant « fourche », « fourchette ». Il vient du mot latin furca (qui est également à l'origine de plusieurs mots en français comme bifurcation), via le normo-picard...) du projet et le nomme EGCS (pour Experimental/Enhanced GNU Compiler System). Suite aux nombreuses améliorations réalisées, EGCS et GCC sont réunis en avril 1999, la première version publiée est la 2.95.

GCC est aujourd'hui le compilateur le plus utilisé dans la communauté des logiciels libres et est le compilateur de nombre de systèmes d'exploitations, comme Linux (Au sens strict, Linux est le nom du noyau de système d'exploitation libre, multitâche, multiplate-forme et multi-utilisateur de type UNIX créé par Linus Torvalds, souvent désigné...), les BSD, Mac OS X (Mac OS X est une ligne de systèmes d’exploitation propriétaire développés et commercialisés par Apple, dont la version la plus récente (Mac OS X 10.5 dit 'Leopard' fin 2007) est installée sur tous les Macs...), NeXTSTEP (NeXTSTEP est le système d'exploitation des ordinateurs conçus par NeXT, basé sur un micro-noyau Mach, un environnement BSD 4.3 et une interface graphique efficace fondée sur le Display PostScript.) ou encore BeOS/Haïku.

Versions

Les versions sont fixées par le GCC Steering Committee. La version 4 compile le Fortran 95 suite à la demande de très nombreux utilisateurs scientifiques. C'est, en effet, dans ce langage que s'échangent la plupart des bibliothèques source et sous-programmes scientifiques actuels ; or Linux est très présent dans les laboratoires.

Voici les dates de sortie des dernières versions principales :

  • 3.0 : 18 juin 2001
  • 3.1 : 15 mai 2002
  • 3.2 : 14 août 2002
  • 3.3 : 13 mai 2003
  • 3.4 : 18 avril 2004
    • 3.4.6 : 6 mars 2006
  • 4.0 : 20 avril 2005
    • 4.0.4 : 31 janvier 2007
  • 4.1 : 28 février 2006
    • 4.1.2 : 13 février 2007
  • 4.2 : 13 mai 2007

Syntaxe

Utilisation de GCC 4.1.1 en ligne de commande sous Ubuntu
Utilisation de GCC 4.1.1 en ligne de commande (Commande : terme utilisé dans de nombreux domaines, généralement il désigne un ordre ou un souhait impératif.) sous Ubuntu (Ubuntu (prononciation [ubuntu], c'est-à-dire « ou-boun-tou » en prononciation française) est un système d’exploitation libre fondé sur Debian (une distribution Linux) et commandité par la...)

La syntaxe de base utilisée par les compilateurs de GCC est :

 
 gcc fichierSource.c -o binaire 
 

Pour utiliser des bibliothèques, la syntaxe est la suivante :

 
 gcc fichierSource.c -o binaire -lbibliothèque 
 

De nombreuses options (passées en paramètre) permettent aux initiés d'agir sur la compilation. GCC est souvent utilisé dans les makefile par le programme make (make est un logiciel traditionnel d'UNIX. C'est un « moteur de production » : il sert à appeler des commandes créant des fichiers. À la différence d'un simple script shell,...).

Page générée en 0.080 seconde(s) - site hébergé chez Amen
Ce site fait l'objet d'une déclaration à la CNIL sous le numéro de dossier 1037632
Ce site est édité par Techno-Science.net - A propos - Informations légales
Partenaire: HD-Numérique