Nom :
Prénom : Groupe :
Date :
Outils
Préprocesseur Assembleur / Désassembleur
Linker
Bibliothèques
SymboleCompilateur
Le préprocesseur effectue un prétraitement du
TEXTE du fichier source et traite toutes les
directives repérées par le symbole #, notemment
les inclusions de fichiers entête, les définitions
de constantes par des macros et les directives de
compilation conditionnelles (#if #endif).
L'assembleur est associé à un processeur et à
son langage assembleur. Il traduit en binaire
chaque instruction écrite en assembleur.
Le désassembleur permet l'opération inverse.
Il analyse le code binaire et reconstruit les
instructions en langage assembleur.
Le linker (éditeur de liens) fabrique l'exécutable
à partir des fichiers objets et des librairies.
Il parcours les fichiers objets puis les librairies
pour trouver les symboles référencés. Il calculé
les adresses de tous les symboles.
Les fichiers objets (c'est à dire déjà compilés)
fréquemment utilisés peuvent être regroupés
dans des bibliothèques (library).
Toutes les variables globales et toutes les
fonctions (non static) n'auront une adresse
définitive qu'à la fin de l'édition de liens.
Avant cette étape, (notemment lors de la
compilation) le compilateur les manipule
comme des symboles. On peut donc appeller
une fonction ou lire une variable en ne
connaissant que son type et son nom.
Le compilateur est associé à un langage de
programmation et à un processeur cible.
Il analyse séparément chaque fichier
source et génère pour chacun un fichier objet.
Il détecte le erreurs de syntaxe et vérifie la
cohérence de l'utilisation des opérateurs en
fonction du type de donnée.
CORRECTION
JOK 18/10/02