Contenu | Rechercher | Menus

Table des matières

GCC, le jeu de compilateurs GNU

GCC (GNU Compiler Collection) est une suite de logiciels libres de compilation. On l'utilise dans le monde Linux dès que l'on veut transcrire du code source en langage machine, c'est le plus répandu des compilateurs. La suite gère le C et ses dérivés mais aussi le Java ou encore le Fortran.

Le noyau Linux dépend dans sa compilation des possibilités pointues de son compilateur C.

Installation

Il suffit d'installer le paquet gcc.

À noter que lorsque l'on installe le paquet virtuel build-essential, il est fait appel à GCC pour la partie compilation. Mais cela ajoute d'autres utilitaires comme Make qui sont généralement nécessaires à toute compilation plus poussée que le simple bout de code. Il est donc conseillé d'installer directement build-essential.

Utilisation

On peut appeler GCC directement par ligne de commande ou à travers un EDI. On pourra se reporter à la page générique sur la programmation pour une liste d'EDI par langage.

Basiquement, la syntaxe est la suivante (exécution dans un terminal) :

gcc code.ext -o binaire 

en remplaçant bien sûr code.ext par le fichier source d'entrée et binaire par le fichier de sortie souhaité. À défaut de paramètre output file (-o binaire), gcc créera a.out.

À noter qu'il faut se trouver dans le dossier où se situe le fichier.c.

en C++

Utilisation classique :

 g++ fichier.cpp -std=c++11 -Wall -Wextra -o fichier_executable 
-o fichier_executable 

-o pour output, permet de définir le fichier de sortie. Si absent, le fichier créé est nommé a.out

Détermine le langage standard:

-std=c++14

Compilation simple (sans assemblage) : Pour simplement compiler afin de vérifier l'absence d'erreur (ou plutôt voir ses erreurs), on utilise :

g++ -S fichier.cpp

Warnings: pour que le compilateur retourne des warning sur des parties de codes qui lui semble incorrecte, on utilise généralement :

-Wall

on retrouve la liste des options que cela englobe à l'adresse ci-dessous:
https://gcc.gnu.org/onlinedocs/gcc/Warning-Options.html
on peut compléter -Wall avec

-Wextra

Optimisation: -O1 ou -O2 … ou -O3

Quelle version utilise-t-on?

g++ --version


Pour une liste exhaustive des multiples options ou optimisations et pour une syntaxe détaillée de GCC, consulter la page de manuel de gcc (longue de plus de 15000 lignes) .

Liens


Contributeurs : Johndescs



Le contenu de ce wiki est sous licence : CC BY-SA v3.0