Ci-dessous, les différences entre deux révisions de la page.
Les deux révisions précédentesRévision précédenteProchaine révision | Révision précédente | ||
dev:outils:gcc [2016/12/20 15:18] – yoann | dev:outils:gcc [2021/02/01 21:51] (Version actuelle) – modification externe 127.0.0.1 | ||
---|---|---|---|
Ligne 97: | Ligne 97: | ||
Notre fichier source hello.c passe de 17 lignes a 851 après traitement du préprocesseur. | Notre fichier source hello.c passe de 17 lignes a 851 après traitement du préprocesseur. | ||
- | ==== Compilateur | + | ==== compilateur |
Pour demander à gcc de compiler un fichier source la syntaxe est la suivante: | Pour demander à gcc de compiler un fichier source la syntaxe est la suivante: | ||
Ligne 115: | Ligne 115: | ||
</ | </ | ||
- | ===== Bibliothèques, | + | ==== linker |
Une fois les fichiers objets créés, il faut les fusionner correctement pour créer le fichier exécutable (j’évite ici le terme assembler): c'est la phase d' | Une fois les fichiers objets créés, il faut les fusionner correctement pour créer le fichier exécutable (j’évite ici le terme assembler): c'est la phase d' | ||
Ligne 142: | Ligne 142: | ||
On obtient un binaire moins modulaire mais qui inclus le code dont il a besoin. S'il repose sur des bibliothèques qui ont été mises à jour, il faudra recompiler le programme pour qu'il intègre les modifications. | On obtient un binaire moins modulaire mais qui inclus le code dont il a besoin. S'il repose sur des bibliothèques qui ont été mises à jour, il faudra recompiler le programme pour qu'il intègre les modifications. | ||
- | ==== Spécifier des bibliothèques | + | ===== Bibliothèques, |
Lors de l' | Lors de l' | ||
Ligne 160: | Ligne 160: | ||
Pour un programme se reposant sur les liaisons dynamiques (libXXX.so), | Pour un programme se reposant sur les liaisons dynamiques (libXXX.so), | ||
- | ==== Créer une bibliothèque ==== | + | ===== Créer une bibliothèque |
- | === Pour liaison statique === | + | ==== Pour liaison statique |
C'est rassembler plusieurs fichiers objets dans un seul fichier (une archive) avec **ar** (options ur (ajouter et remplace et v verbeux) | C'est rassembler plusieurs fichiers objets dans un seul fichier (une archive) avec **ar** (options ur (ajouter et remplace et v verbeux) | ||
Ligne 183: | Ligne 183: | ||
</ | </ | ||
- | === Pour liaison dynamique === | + | ==== Pour liaison dynamique |
Pour créer une bibliothèque dynamique, utiliser l' | Pour créer une bibliothèque dynamique, utiliser l' | ||
Ligne 213: | Ligne 213: | ||
</ | </ | ||
+ | ===== Références ===== | ||
+ | |||
+ | * https:// | ||