Maison > développement back-end > C++ > Quelles sont les quatre étapes pour convertir un programme C en code machine ?

Quelles sont les quatre étapes pour convertir un programme C en code machine ?

WBOY
Libérer: 2023-09-13 17:01:01
avant
1456 Les gens l'ont consulté

Le processus de création et d'exécution d'un programme

  • Un programme consiste en un ensemble d'instructions écrites dans un langage de programmation.

  • Le travail d’un programmeur consiste à écrire et tester des programmes.

  • Les 4 étapes pour convertir un programme 'C' en langage machine sont :

    • Écrire et éditer le programme
    • Compiler le programme
    • Lier le programme
    • Exécuter le programme

Écrire et éditer le programme

  • Utilisez un éditeur de texte pour écrire des programmes.

  • Avec l'éditeur de texte, les utilisateurs peuvent saisir, modifier et stocker les données des caractères.

  • Tous les éditeurs de texte spéciaux sont généralement inclus dans le compilateur.

  • Après avoir écrit le programme, enregistrez le fichier sur le disque.

  • C'est ce qu'on appelle un "fichier source".

  • Ce fichier est l'entrée du compilateur.

Quelles sont les quatre étapes pour convertir un programme C en code machine ?

Compilateur

  • Un "compilateur" est un logiciel qui convertit un programme source en langage machine.

  • Le compilateur "C" est divisé en deux programmes distincts.

    • Préprocesseur
    • Traducteur

Regardons d'abord le préprocesseur -

Préprocesseur

  • Le préprocesseur lit le code source puis le prépare pour le traducteur.

  • Les commandes du préprocesseur commencent par le symbole "#".

  • Ils demandent au préprocesseur de trouver une base de code spéciale et de la remplacer.

  • Le résultat du prétraitement est appelé « unité de traduction ».

Traducteur

  • Le travail d'un traducteur consiste à convertir un programme en langage machine.

  • Il lit les unités de traduction et génère des "modules cibles".

  • Mais ce n'est pas un fichier entièrement exécutable car il ne contient pas de "C" ni d'autres fonctions.

Linker

  • Le "linker" assemble les fonctions d'E/S, certaines fonctions de bibliothèque et les fonctions du programme source dans le programme exécutable final.

Quelles sont les quatre étapes pour convertir un programme C en code machine ?

Exécuter un programme

  • Un "loader" est un logiciel qui prépare un programme à exécuter en mémoire.

  • Pendant l'exécution, le programme lit les données de l'utilisateur, traite les données et prépare la sortie.

Quelles sont les quatre étapes pour convertir un programme C en code machine ?

Exemple 1

L'exemple suivant consiste à trouver la moyenne de 3 nombres -

Démonstration en temps réel

#include<stdio.h>
int main(){
   int a,b,c,d; //declaring 4 variables
   float e;
   printf("Enter values of a,b,c:");
   scanf("%d,%d,%d",&a,&b,&c); //read 3 input values from keyboard
   d=a+b+c;
   e=d/3;
   printf("Average=%f",e); // printing the result
   return 0;
}
Copier après la connexion

Sortie

Enter values of a,b,c :2,4,5
Average=3.000000
Copier après la connexion

Exemple 2

Ce qui suit consiste à calculer la circonférence d'un cercle -

Démonstration en temps réel

#include <stdio.h>
#define PI 3.1415 // defining PI value
main (){
   float c,r;
   printf("Enter radius of circle r=");
   scanf("%f",&r);
   c=2*PI*r;
   printf("Circumference of circle c=%f", c);
}
Copier après la connexion

sortie

Enter radius of circle r=5.6
Circumference of circle c=35.184799
Copier après la connexion

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Étiquettes associées:
source:tutorialspoint.com
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal