Section courante

A propos

Section administrative du site

gcc

Collection de compilateur GNU
Linux Externe

Syntaxe

gcc [ options fichier ] ...

Paramètres

Nom Description
fichier Ce paramètre permet d'indiquer le nom du fichier à compiler.
-### Ce paramètre permet d'afficher les programmes appelé par le compilateur gcc mais sans exécuté les paramètres entre guillemet.
-b machine Ce paramètre permet d'indiquer qu'il faut exécuter gcc sur la machine spécifié, si le compilateur y est installé.
-B directory Ce paramètre permet d'ajouter le répertoire spécifiés aux chemins de recherche du compilateur gcc.
-combine Ce paramètre permet d'indiquer qu'il faut compiler plusieurs fichiers source à la fois.
-dumpmachine Ce paramètre permet d'afficher la plateforme de destination du compilateur (généralement le microprocesseur et le système d'exploitation).
-dumpspecs Ce paramètre permet d'afficher les entrées de liaisons.
-dumpversion Ce paramètre permet d'afficher la version du compilateur gcc.
-E arg Ce paramètre permet d'indiquer qu'il faut effectuer un traitement de pré-processeur uniquement, sans compilation.
--help Ce paramètre permet d'afficher l'aide de cette commande et quitte immédiatement après.
--help={target|optimizers|warnings|params|[^]{joined|separate|undocumented}}[,...] Ce paramètre permet d'afficher le types spécifiés d'options de ligne de commandes. Voici la signification des valeurs :
Valeur Description
joined Cette valeur permet d'indiquer qu'il faut afficher les paramètres apparaissant après un paramètre égale à la même pièce de texte continue, comme par exemple «--help=target».
optimizers Cette valeur permet d'indiquer qu'il faut afficher toutes les options d'optimisation supporté par le compilateur.
params Cette valeur permet d'indiquer qu'il faut afficher les valeur reconnus par l'option «--param».
target Cette valeur permet d'indiquer qu'il faut afficher les options de la destination spécifié.
undocumented Cette valeur permet d'indiquer qu'il faut afficher les options non-documenté.
warnings Cette valeur permet d'indiquer qu'il faut afficher toutes les options contrôlant les messages d'attentions produit par le compilateur.
-no-canonical-prefixes Ce paramètre permet d'indiquer qu'il ne faut pas canoniser les chemins de la construction des préfixes relatives vers les autres composantes gcc.
-o fichier Ce paramètre permet d'indiquer le nom du fichier de sortie à utiliser pour générer le fichier exécutable.
-v --help=valeur Ce paramètre permet d'afficher les détails de types spécifiés d'options de ligne de commandes.
--version Ce paramètre permet d'afficher les informations de version de cette commande et quitte immédiatement après.
-pass-exit-codes Ce paramètre permet d'indiquer qu'il faut terminer la compilation uniquement si toutes les passages de compilation ne réussissent pas.
-pipe Ce paramètres permet d'indiquer qu'il faut utiliser le tuyau au lien de fichiers intermédiaires.
-print-file-name=lib Ce paramètre permet d'afficher le chemin complet de la bibliothèque spécifié du gcc.
-print-libgcc-file-name Ce paramètre permet d'afficher le nom de la bibliothèque du compilateur gcc.
-print-multi-directory Ce paramètre permet d'afficher le répertoire racine des version libgcc.
-print-multi-lib Ce paramètre permet d'afficher la cartographie entre les options de la ligne de commande et les multiples répertoires derecherches des bibliothèques de gcc.
-print-multi-os-directory Ce paramètre permet d'afficher le chemin relatif vers les bibliothèques du système d'exploitation.
-print-prog-name=prog Ce paramètre permet d'afficher le chemin complet vers la composante de programme du compilateur gcc.
-print-search-dirs Ce paramètre permet d'afficher le chemin des répertoires de recherches du compilateur.
-print-sysroot Ce paramètre permet d'afficher le répertoire de la bibliothèque destinataire.
-print-sysroot-headers-suffix Ce paramètre permet d'afficher le suffixe «sysroot» utiliser pour la recherche des entêtes du langage de programmation C.
-S Ce paramètre d'indiquer qu'il faut uniquement effectuer la compilation sans faire l'édition des liens (linker).
-save-temps Ce paramètre permet d'indiquer qu'il ne faut supprimer les fichiers intermédiaire.
-save-temps=arg Ce paramètre permet d'indiquer qu'il ne faut supprimer les fichiers intermédiaire avec les paramètres spécifiés.
-specs=fichier Ce paramètre permet d'indiquer qu'il faut remplacer les spécifications internes en utilisant le fichier spécifié.
-std=standard Ce paramètre permet d'indiquer que le fichiers d'entrée respectes le standard spécifié.
--sysroot=directory Ce paramètre permet d'indiquer qu'il faut utiliser le répertoire spécifié comme répertoire racine des entêtes et des librairies.
--target-help Ce paramètre permet d'indiquer qu'il faut afficher les options spécifiques disponible pour la ligne de commande spécifié.
-time Ce paramètre permet de mesurer le temps d'exécution entre chaque sous-programme de gcc.
-v Ce paramètre permet d'afficher les programmes appelé par le compilateur gcc.
-V version Ce paramètre permet d'indiquer qu'il faut utiliser le numéro de version de gcc spécifié, s'il est installé sur le système d'exploitation.
-Wa,options Ce paramètre permet d'indiquer qu'il faut passer options spécifiés au compilateur de langage de programmation assembleur. Ces options peuvent être séparé par des virgules.
-Wl,options Ce paramètre permet d'indiquer qu'il faut passer options spécifiés à l'éditeur de lien (linker). Ces options peuvent être séparé par des virgules.
-Wp,options Ce paramètre permet d'indiquer qu'il faut passer options spécifiés au préprocesseur de langage de programmation C. Ces options peuvent être séparé par des virgules.
-x langagedeprogrammation Ce paramètre permet d'indiquer qu'il faut utiliser le langage de programmation spécifié comme entrée par défaut des fichiers. Le langage de programmation par défaut étant bien sûre C et C++, il tentera d'identifier par l'extension de fichier, le langage de programmation. Toutefois, on peut indiquer manuel le langage de programmation comme ceci :
Valeur Description
ada Cette valeur permet d'indiquer le langage de programmation Ada.
assembler Cette valeur permet d'indiquer le langage de programmation Assembleur.
assembler-with-cpp Cette valeur permet d'indiquer le langage de programmation Assembleur combiné avec le langage de programmation C++.
f77 Cette valeur permet d'indiquer le langage de programmation Fortran.
go Cette valeur permet d'indiquer le langage de programmation Go de Google.
java Cette valeur permet d'indiquer le langage de programmation Java d'Oracle.
objective-c Cette valeur permet d'indiquer le langage de programmation Objective C.
objective-c++ Cette valeur permet d'indiquer le langage de programmation Objective C++.
... ...
-Xassembler arg Ce paramètre permet d'indiquer un paramètre à passer comme paramètre au compilateur assembleur.
-Xlinker arg Ce paramètre permet d'indiquer un paramètre à passer comme paramètre à l'éditeur de lien (linker).
-Xpreprocessor arg Ce paramètre permet d'indiquer un paramètre à passer comme paramètre au compilateur préprocesseur.

Description

Cette commande permet de lancer le compilateur GNU C++.

Remarques

Exemples

Tout d'abord, si vous avez le programme «bonjour.c» dans votre répertoire courant :

  1. #include <stdio.h>
  2. #include <stdlib.h>
  3.  
  4. int main()
  5. {
  6.     printf("Bonjour !\n");
  7.     return 0;
  8. }

L'exemple suivant permet d'uniquement compiler le programme «bonjour.c» :

gcc bonjour.c

On sait si le programme compilé contient des erreurs, mais on obtient pas de résultat. Ce n'est donc pas très pratique. Par contre, l'exemple suivant permet de compiler le programme «bonjour.c» et de produire un fichier exécutable :

gcc bonjour.c -o bonjour

on lance ensuite le fichier exécutable comme ceci :

./bonjour

on obtiendra un résultat comme ceci :

Bonjour !

L'exemple suivant permet d'afficher les détails de liens de «bonjour.c» :

gcc -### -o bonjour bonjour.c

on obtiendra un résultat ressemblant parfois à ceci (très variable d'une machine à l'autre) :

Utilisation des specs internes.
COLLECT_GCC=gcc
COLLECT_LTO_WRAPPER=/usr/lib/gcc/i686-pc-linux/4.5.3/lto-wrapper
Target: i686-pc-linux
Configuré avec: /gnu/gcc/releases/respins/4.5.3-3/gcc4-4.5.3-3/src/gcc-4.5.3/configure --srcdir=/gnu/gcc/releases/respins/4.5.3-3/gcc4-4.5.3-3/src/gcc-4.5.3 --prefix=/usr --exec-prefix=/usr --bindir=/usr/bin --sbindir=/usr/sbin --libexecdir=/usr/lib --datadir=/usr/share --localstatedir=/var --sysconfdir=/etc --datarootdir=/usr/share --docdir=/usr/share/doc/gcc4 -C --datadir=/usr/share --infodir=/usr/share/info --mandir=/usr/share/man -v --with-gmp=/usr --with-mpfr=/usr --enable-bootstrap --enable-version-specific-runtime-libs --libexecdir=/usr/lib --enable-static --enable-shared --enable-shared-libgcc --disable-__cxa_atexit --with-gnu-ld --with-gnu-as --with-dwarf2 --disable-sjlj-exceptions --enable-languages=ada,c,c++,fortran,java,lto,objc,obj-c++ --enable-graphite --enable-lto --enable-java-awt=gtk --disable-symvers --enable-libjava --program-suffix=-4 --enable-libgomp --enable-libssp --enable-libada --enable-threads=posix --with-arch=i686 --with-tune=generic --enable-libgcj-sublibs CC=gcc-4 CXX=g++-4 CC_FOR_TARGET=gcc-4 CXX_FOR_TARGET=g++-4 GNATMAKE_FOR_TARGET=gnatmake GNATBIND_FOR_TARGET=gnatbind --with-ecj-jar=/usr/share/java/ecj.jar
Modèle de thread: posix
gcc version 4.5.3 (GCC)
COLLECT_GCC_OPTIONS='-o' 'bonjour' '-mtune=generic' '-march=i686'
"/usr/lib/gcc/i686-pc-linux/4.5.3/cc1" "-quiet" "-D__LINUX32__" "-D__LINUX__" "-Dunix" "-D__unix__" "-D__unix" "-idirafter" "/usr/lib/gcc/i686-pc-linux/4.5.3/../../../../include/w32api" "-idirafter" "/usr/lib/gcc/i686-pc-linux/4.5.3/../../../../i686-pc-linux/lib/../../include/w32api" "bonjour.c" "-quiet" "-dumpbase" "bonjour.c" "-mtune=generic" "-march=i686" "-auxbase" "bonjour" "-o" "/tmp/cckzpYVH.s"
COLLECT_GCC_OPTIONS='-o' 'bonjour' '-mtune=generic' '-march=i686'
"/usr/lib/gcc/i686-pc-linux/4.5.3/../../../../i686-pc-linux/bin/as" "-o" "/tmp/ccGfa4pt.o" "/tmp/cckzpYVH.s"
COMPILER_PATH=/usr/lib/gcc/i686-pc-linux/4.5.3/:/usr/lib/gcc/i686-pc-linux/4.5.3/:/usr/lib/gcc/i686-pc-linux/:/usr/lib/gcc/i686-pc-linux/4.5.3/:/usr/lib/gcc/i686-pc-linux/:/usr/lib/gcc/i686-pc-linux/4.5.3/../../../../i686-pc-linux/bin/
LIBRARY_PATH=/usr/lib/gcc/i686-pc-linux/4.5.3/:/usr/lib/gcc/i686-pc-linux/4.5.3/../../../:/lib/:/usr/lib/
COLLECT_GCC_OPTIONS='-o' 'bonjour' '-mtune=generic' '-march=i686'
"/usr/lib/gcc/i686-pc-linux/4.5.3/collect2" "--wrap" "_Znwj" "--wrap" "_Znaj" "--wrap" "_ZdlPv" "--wrap" "_ZdaPv" "--wrap" "_ZnwjRKSt9nothrow_t" "--wrap" "_ZnajRKSt9nothrow_t" "--wrap" "_ZdlPvRKSt9nothrow_t" "--wrap" "_ZdaPvRKSt9nothrow_t" "-Bdynamic" "--dll-search-prefix=cyg" "--large-address-aware" "--tsaware" "-o" "bonjour" "/usr/lib/gcc/i686-pc-linux/4.5.3/../../../crt0.o" "/usr/lib/gcc/i686-pc-linux/4.5.3/crtbegin.o" "-L/usr/lib/gcc/i686-pc-linux/4.5.3" "-L/usr/lib/gcc/i686-pc-linux/4.5.3/../../.." "/tmp/ccGfa4pt.o" "-lgcc" "-lgcc_eh" "-llinux" "-luser32" "-lkernel32" "-ladvapi32" "-lshell32" "-lgcc" "-lgcc_eh" "/usr/lib/gcc/i686-pc-linux/4.5.3/crtend.o"

Voir également

Langage de programmation - C pour Linux - Accueil

Dernière mise à jour : Samedi, le 14 novembre 2015