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:// | ||