Outils pour utilisateurs

Outils du site


dev:outils:gcc

Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

Les deux révisions précédentesRévision précédente
Prochaine révision
Révision précédente
dev:outils:gcc [2016/12/20 15:18] yoanndev: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:
 </code> </code>
  
-===== Bibliothèques, liaison statique / dynamique =====+==== 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'édition des liens faite par le 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'édition des liens faite par le linker.
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, liaison statique / dynamique =====
  
 Lors de l'édition des liens, des fichiers objets présents dans des bibliothèques peuvent être spécifiés. Lors de l'édition des liens, des fichiers objets présents dans des bibliothèques peuvent être spécifiés.
Ligne 160: Ligne 160:
 Pour un programme se reposant sur les liaisons dynamiques (libXXX.so), il faudra impérativement indiquer dans quels répertoires sont stockées les bibliothèques. Ceci peut être fait notamment grâce à la variable d'environnement **LD_LIBRARY_PATH** Pour un programme se reposant sur les liaisons dynamiques (libXXX.so), il faudra impérativement indiquer dans quels répertoires sont stockées les bibliothèques. Ceci peut être fait notamment grâce à la variable d'environnement **LD_LIBRARY_PATH**
  
-==== 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:
 </code> </code>
  
-=== Pour liaison dynamique ===+==== Pour liaison dynamique ====
  
 Pour créer une bibliothèque dynamique, utiliser l'option **-shared** Pour créer une bibliothèque dynamique, utiliser l'option **-shared**
Ligne 213: Ligne 213:
 </code> </code>
  
 +===== Références =====
 +
 +  * https://www.cmi.univ-mrs.fr/~contensi/coursC/index.php?section=env&page=comp
  
dev/outils/gcc.1482247128.txt.gz · Dernière modification : 2021/02/01 21:51 (modification externe)