Chaîne de développement de la compilation

1586 mots 7 pages
Chaîne de développement de la compilation
Ce document vise à expliquer le fonctionnement global d'un compilateur et des différents outils constituant la chaîne de compilation.
Les exemples fournis sont en ligne de commande et reposent sur les compilateurs gcc et cl (Microsoft)
La chaîne de compilation est constituée des étapes suivantes :
1. Lecture du fichier source : source.c
2. Préprocesseur (pre-processing) : inclusion et remplacement de texte. les directives de préprocesseur commencent par un "#" pour arrêter la compilation après le pré-processeur, il faut utiliser l'option -E de gcc : gcc -E source.c (sortie sur stdout)
(Microsoft : cl /P source.c (sortie : .i))
3. Génération de code objet :
Le code source C est transformé en code assembleur pour arrêter la compilation à la création du code assembleur, il faut utiliser l'option -S de gcc : gcc -S source.c (sortie : source.s)
Les unités de compilation .c sont alors transformées en fichiers-objets binaires
Pour arrêter la compilation à la création du code objet, il faut utiliser l'option -c de gcc : gcc -c source.c (sortie : source.o)
(Microsoft : cl /c (sortie : .obj))
4. Édition de liens (linker) : assemble les fichiers-objets et les bibliothèques génère un exécutable à partir des fichiers-objets (.o / .obj) et des bibliothèques statiques (.a / .lib)
5. Génération du programme exécutable (nécessite la présence de la fonciton main, dite « point d'entrée du programme »)
Pour spécifier le nom du programme, il faut utiliser l'option -o (output) de gcc : gcc source.c -o mon_programme
MS : cl -Fe mon_programme.exe
Si l'option -o de gcc n'est pas précisée, alors le nom du programme sera a.out
Pour lancer le programme, on utilise la commande :
./mon_programme
Microsoft : programme.exe
Le pré-processeur
Le pré-processeur est un programme qui effectue des modifications de texte dans le code source.
Commande cpp (C PreProcessor) : cpp source.c (sortie sur stdout)
Cette commande

en relation

  • 400_Graph35_
    823 mots | 4 pages
  • Tinspire decouverte
    4873 mots | 20 pages
  • FL QI Illusions
    290 mots | 2 pages
  • L'homme qui n'a pas d'étoile analyse
    7223 mots | 29 pages
  • Algorithmique Chhibat Base GMSI Etudiants
    3712 mots | 15 pages
  • SUP DS2
    1995 mots | 8 pages
  • Montaigne
    350 mots | 2 pages
  • Prise de note cours c++
    1141 mots | 5 pages
  • Le code pour les nuls
    430 mots | 2 pages
  • Installation pascal
    274 mots | 2 pages
  • bases de donnée
    340 mots | 2 pages
  • mateo falcone
    353 mots | 2 pages
  • fgfg
    493 mots | 2 pages
  • Court-circuit
    773 mots | 4 pages
  • Uml, les diagrammes de composants
    335 mots | 2 pages