Documente Academic
Documente Profesional
Documente Cultură
Jason CHAMPAGNE
https://jasonchampagne.fr
1ère Édition
Sommaire
Compilation langage C (séance 3)........................................................................................................3
Traitement par le préprocesseur (preprocessing).............................................................................3
Compilation en langage d'Assembleur (compiling).........................................................................3
Traduction du langage d'Assembleur en binaire (assembling)........................................................3
Édition de liens (linking).................................................................................................................4
BONUS : quelques options à connaître pour GCC..........................................................................4
Compilation langage C (séance 3)
Quatre étapes intermédiaires existent pour obtenir un exécutable depuis un code
source en langage C :
Le résultat produit un fichier portant l'extension ".i " contenant l 'ensemble du code qui
sera traduit en langage d'Assembleur (étape suivante).
gcc -S main.i
Le résultat produit un fichier portant l'extension ".s" qui sera transformé par la suite en
binaire.
Le résultat produit un fichier portant l'extension ".o " (dit fichier "objet "), souvent
utilisés lors d'une compilation séparée ( notion abordée dans d'autres vidéos sur la
chaîne).
Plusieurs fichiers "objet" ont pu être obtenus et il est nécessaire de les fusionner et de
lier l'ensemble des fichiers :
gcc main.o
Le résultat produit notre exécutable final, nommé "a" par défaut (sans extension sur
GNU/Linux et MacOS, avec extension ".exe" sur Windows, etc.)
En résumé, toutes ces 4 étapes sont effectuées d 'une traite lorsque vous avez pris
l'habitude de taper la commande :