PRÉSENTATION DU THÈME 1 : LES ÉTAPES DE COMPILATION D’UN PROGRAMME C Enseignant

PRÉSENTATION DU THÈME 1 : LES ÉTAPES DE COMPILATION D’UN PROGRAMME C Enseignant : Habib Smei Réalisé par : Khammassi Nourhéne Classe : L3-SEM Institut supérieur des études Technologique de Rades Département Technologies de l’informatique Année Universitaire : 2020-2021 Plan 01 Introduction 02 Définition de la compilation 04 Conclusion 03 Les étapes de compilation d’un programme c INTRODUCTIO N • Un programme en c est un programme écrit en langage c qui traduit un algorithme décrivant la solution d’un problème . Il est composé de : Directives de préprocesseur (#) Déclarations Fonctions Fonction principale (main) Instruction Bloc Commentaires ( /* texte */ , // ligne ) 1 DÉFINITION DE LA COMPILATION • C’est la traduction automatique d'une description écrite dans un langage vers un autre langage. • Très souvent ce terme est restreint a la traduction d’un langage de programmation de haut niveau tel que le c vers le langage machine du processeur qui devra exécuter le programme . 2 3 Les étapes de compilation d’un programme c : Prog.c I Prog.i Prog.s Prog.o Prog Compilation Source du programme n t1r-opdruéc t–i otrnaite m e nt Source du programme traité 2 - Compilation Programme en assembleur 3 - Assemblage Fichier objet 4 - Edition de lien Fichier exécutable 4 Les étapes de compilation d’un programme c : Prog.c Prog.i Prog.s Prog.o Prog Compilation gcc -E prog.c > prog,i gcc –S prog.i –o prog.s gcc –c prog.s –o prog.o gcc prog.o –o prog 5 • 1ére étape : pré – traitement Enlève les commentaries //,/*,*/ qui sont utiles au programmeur mais inutiles our l’ordinateur . Inclusion des fichiers ,h dans le fichier .c (#include) . Evalue les directives de pré – traitement commencent par un caractère #. #ifdef, #ifndef, #if defined ,#else ,#undef … #endif evaluation conditionnelle des directives de pré – traitement . cpp fichier.c > fichier.i ou directement depuis le fichier C gcc –E fichier.c > fichier.i Le fichier resultant porte souvent l’e ec sion i 6 • 2éme étape compilation en langage assembleur : • Le programme C obtenu après pré- traitement produit un fichier texte contenu du code en langage d’assemblage spécifique a la machine . • Sur laquelle le code est compile (compilation native ) . • cc1 prog.i –o prog.s • Ou directement depuis le fichier c • gcc –S prog.c –o prog.s • Le fichier résultant porte souvent l’extension .s • Au cas ou aucun nom de fichier d’exécutable n’aurait été précise avec –o , l’exécutable génère a par default • 3éme étape Assemblage : • Le code assembleur est assemblé pour générer du code machine . • Le fichier produit est appelé fichier objet . • as prog.s –o prog.o • Ou directement depuis le fichier.c • gcc –c prog.c –o prog.o • Le fichier résultant porte souvent l’extension .o • Au cas ou aucun nom de fichier d’exécutable n’aurait été précise avec –o , l’exécutable génère a par default le nom du fichier suivi de .o 7 8 4éme étape Edition de liens : L'édition de liens prend un ensemble de fichiers objets pour produire un programme exécutable. les fichiers objets du / rassemble les fichiers Rassemble programme objets du fonctions (système) / extrait les des bibliothèques (statistiques et dynamiques) / résout les problèmes d’adressage . Au cas ou aucun nom de fichier d’exècutable n’aurait été précise avec -o et l’exècutable génère a par défaut L'édition des liens va réunir le fichier objet et les formations contenues dans les bibliothèques, pour produire le programme complet : l'exécutable a.out dans notre exemple . CONCLUSION 9 Le langage C est le langage reconnu dans le monde entier et utilisé dans une multitude d’applications , il est un langage de base de tous les langages. C est un langage compilé donc après avoir tapé vos commandes , pour exécuter votre programme vous devez l’exécuter a travers un compilateur pour transformer le formulaire lisible en langage lisible par machine . MERCI POUR VOTRE ATTENTION uploads/Litterature/ linux 3 .pdf

  • 24
  • 0
  • 0
Afficher les détails des licences
Licence et utilisation
Gratuit pour un usage personnel Attribution requise
Partager