Professional Documents
Culture Documents
en langage C
Introduction
Lobjectif dun programmeur cest darriver gnrer (puis excuter) un chier excutable. Ceci passe par plusieurs tapes que nous allons dcrire dans le cas dun programme en langage
C.
Introduction
1. la premire tape consiste crire le programme (on parle de source) dans un chier texte laide dun diteur. En C, on donne lextension .c ce chier.Ce programme est bien videmment incomprhensible par la machine ; 2. la deuxime tape est ltape de prcompilation. Elle consiste traiter les directives de compilation (comme linclusion de chiers dentte de bibliothques) et gnre un chier texte qui est encore un chier source en C;
Introduction
3. ltape suivante est la compilation. Elle consiste transformer les instructions du programme en langage comprhensible par le processeur (langage machine) et gnre un chier binaire dit chier objet ; Dans certains documents les deuxime et troisime tapes ne forment quune seule tape et sont assimiles la compilation ; 4. la dernire tape consiste ectuer ldition de liens. Le code gnr la compilation est complt par le code des fonctions des bibliothques utilises.Cest seulement aprs cette tape que lon gnre un chier excutable.
Dfinition
un compilateur est un programme qui lit en entre un programme crit dans un premier langage (appel langage source) et le traduit en un programme quivalent crit dans un autre langage (appel langage cible). Au cours de ce processus de traduction, le compilateur tentera galement de reprer et de signaler les erreurs videntes commises par le programmeur.
What time is it ?
Compilateur
Compilation en C
C
est un langage compil langage interprt programme C dcrit par un fichier texte appel fichier source (*.c) traduit en langage machine par un compilateur La compilation se dcompose en 4 phases:
traitement par le prprocesseur la compilation lassemblage ldition de liens
Les assembleurs
Dans un assembleur, on utilise le langage de la machine. Un code assembleur utilise des noms au lieu de codes binaires pour dsigner les oprations et les adresses mmoires. Exemple : le code assembleur linstruction b:=a+2; peut tre : MOV a, R1 ADD #2, R1 MOV R1, b de
Compilation
Fichier objet M1.o Fichier objet M2.o ... Fichier objet main.o
Bibliothques externes
Exemple