| Les deux révisions précédentesRévision précédenteProchaine révision | Révision précédente |
| gcc [Le 02/04/2021, 20:27] – [Exécution] 93.2.190.16 | gcc [Le 29/06/2025, 12:13] (Version actuelle) – 88.187.196.128 |
|---|
| |
| {{ gcc_logo.png?80nolink| Logo GCC}} | {{ gcc_logo.png?80nolink| Logo GCC}} |
| | |
| ====== GCC, le jeu de compilateurs GNU ====== | ====== 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. | 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 les langages C, C++, Objective-C, [[Fortran]], Ada, Go et D. |
| |
| Le noyau [[Linux]] dépend dans sa compilation des possibilités pointues de son compilateur C. | Le noyau [[Linux]] dépend dans sa compilation des possibilités pointues de son compilateur C. |
| </code> | </code> |
| |
| Puis, exécutez, avec les [[:sudo|droits d'administration]], la liste suivante de commandes((http://askubuntu.com/questions/466651/how-do-i-use-the-latest-gcc-on-ubuntu/581497)) en remplaçant si besoin le 8 par le numéro de version voulue: | Puis, exécutez, avec les [[:sudo|droits d'administration]], la liste suivante de commandes((https://askubuntu.com/questions/466651/how-do-i-use-the-latest-gcc-on-ubuntu/581497)) en remplaçant si besoin le 8 par le numéro de version voulue: |
| <code> | <code> |
| add-apt-repository ppa:ubuntu-toolchain-r/test | add-apt-repository ppa:ubuntu-toolchain-r/test |
| Puis finalement, choisir la version de **''gcc''** par défaut de manière interactive : | Puis finalement, choisir la version de **''gcc''** par défaut de manière interactive : |
| <code>update-alternatives --config gcc</code> | <code>update-alternatives --config gcc</code> |
| | |
| ===== Utilisation ===== | ===== Utilisation ===== |
| |
| |
| Basiquement, la syntaxe est la suivante (exécution dans un [[terminal]]) : | Basiquement, la syntaxe est la suivante (exécution dans un [[terminal]]) : |
| gcc code.ext -o binaire | 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''. | 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. | À noter qu'il faut se trouver dans le dossier où se situe le fichier.c. |
| |
| ==== en C++ ==== | ==== en C++ ==== |
| ===== Exécution ===== | ===== Exécution ===== |
| |
| * Pour exécuter le programme/fichier binaire généré par le GCC, programmé en c par exemple, avec un fichier nommé "BinaireTest" | * Pour exécuter le programme/fichier binaire généré par le GCC, programmé en c par exemple, avec un fichier nommé "BinaireTest" |
| * <code>./BinaireTest</code> | * <code>./BinaireTest</code> |
| * Si vous avez des erreur liées aux permissions, essayez de modifier le "droit d'accès" du ficher avec cette commande : | * Si vous avez des erreur liées aux permissions, essayez de modifier le "droit d'accès" du ficher avec cette commande : |
| * Wikipedia : [[wpfr>GNU_Compiler_Collection|Page sur GCC]] [fr] | * Wikipedia : [[wpfr>GNU_Compiler_Collection|Page sur GCC]] [fr] |
| * Tutoriel gcc : [[https://user.oc-static.com/pdf/31992-compilez-sous-gnu-linux.pdf|compilez sous gnu linux]] (document non mis à jour depuis 2013) | * Tutoriel gcc : [[https://user.oc-static.com/pdf/31992-compilez-sous-gnu-linux.pdf|compilez sous gnu linux]] (document non mis à jour depuis 2013) |
| |
| * [[gdb|Débugage avec gdb]] | * [[gdb|Débugage avec gdb]] |
| |