Différences
Ci-dessous, les différences entre deux révisions de la page.
Les deux révisions précédentes Révision précédente Prochaine révision | Révision précédente Prochaine révision Les deux révisions suivantes | ||
gcc [Le 02/08/2017, 04:07] beaver |
gcc [Le 31/08/2022, 23:33] moths-art Passage de http à https sur les liens externes (détecté et corrigé via le bot wiki-corrector (https://forum.ubuntu-fr.org/viewtopic.php?id=2067892) |
||
---|---|---|---|
Ligne 2: | Ligne 2: | ||
{{ gcc_logo.png?80nolink| Logo GCC}} | {{ gcc_logo.png?80nolink| Logo GCC}} | ||
+ | |||
====== GCC, le jeu de compilateurs GNU ====== | ====== GCC, le jeu de compilateurs GNU ====== | ||
Ligne 21: | Ligne 22: | ||
</code> | </code> | ||
- | Puis, exécutez 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 5 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> | ||
- | sudo add-apt-repository ppa:ubuntu-toolchain-r/test | + | add-apt-repository ppa:ubuntu-toolchain-r/test |
- | sudo apt-get update | + | apt-get update |
- | sudo apt-get install gcc-5 g++-5 | + | apt-get install gcc-8 g++-8 |
- | sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-5 60 --slave /usr/bin/g++ g++ /usr/bin/g++-5 | + | update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-8 60 --slave /usr/bin/g++ g++ /usr/bin/g++-8 |
</code> | </code> | ||
+ | |||
+ | Puis finalement, choisir la version de **''gcc''** par défaut de manière interactive : | ||
+ | <code>update-alternatives --config gcc</code> | ||
+ | |||
===== Utilisation ===== | ===== Utilisation ===== | ||
Ligne 63: | Ligne 68: | ||
on peut compléter -Wall avec | on peut compléter -Wall avec | ||
<code>-Wextra</code> | <code>-Wextra</code> | ||
+ | |||
+ | Compilation sans édition de lien: | ||
+ | <code>g++ -c fichier.cpp </code> | ||
+ | à la différence de l'option //-S// vue plus haut, cela crée le(s) fichier(s) objet(s) | ||
+ | |||
+ | Compiler avec option de debuggage: | ||
+ | <code>g++ -g fichier.cpp -o binaire_debuggable</code> | ||
+ | |||
+ | Compiler avec des fichiers //include// (header files): | ||
+ | <code>g++ -c fichier.cpp -I./include</code> | ||
+ | Nota: vos fichier .h ou .hpp sont généralement avec vos sources, il est inutile d'ajouter cette option pour ces fichiers, en revanche, si vous avez des librairies à lier, il faut spécifier le chemin des fichiers //headers// de ces librairies. | ||
Optimisation: | Optimisation: | ||
Ligne 76: | Ligne 92: | ||
* 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 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 : |
* <code>sudo chmod 770 BinaireTest</code> | * <code>sudo chmod 770 BinaireTest</code> | ||
- | |||
- | |||
- | ---- | ||
- | |||
- | //Contributeurs : [[utilisateurs:Johndescs]], [[utilisateurs:bcag2]], [[utilisateurs:bensuperpc]]// | ||
- | |||
===== Liens ===== | ===== Liens ===== | ||
Ligne 89: | Ligne 99: | ||
* Site officiel : [[http://gcc.gnu.org|GCC, the GNU Compiler Collection]] [en] | * Site officiel : [[http://gcc.gnu.org|GCC, the GNU Compiler Collection]] [en] | ||
* Wikipedia : [[wpfr>GNU_Compiler_Collection|Page sur GCC]] [fr] | * Wikipedia : [[wpfr>GNU_Compiler_Collection|Page sur GCC]] [fr] | ||
- | * Tutoriel gcc : [[http://fr.openclassrooms.com/informatique/cours/compilez-sous-gnu-linux|Compilez sous GNU/Linux]] [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) |
* [[gdb|Débugage avec gdb]] | * [[gdb|Débugage avec gdb]] | ||
- | |||
---- | ---- | ||
- | //Contributeurs : [[utilisateurs:Johndescs]], [[utilisateurs:bcag2]]// | + | //Contributeurs : [[utilisateurs:Johndescs]], [[utilisateurs:bcag2]], [[utilisateurs:bensuperpc]]// |