Accéder au contenu principal

La traduction en langage machine


La traduction en langage machine

Notion de "code source"

Lorsque l'on dispose d'un programme exécutable par un ordinateur, on dispose de la traduction en binaire du programme rédigé en langage de haut niveau.
Le texte du programme en langage de haut niveau est appelé "code source".
Un logiciel "Open Source" est un programme pour lequel on dispose du code source.
Un logiciel "fermé" est un programme qui est la propriété d'une personne ou d'une société qui ne souhaite pas diffuser le code source.
Il est extrêmement difficile de reconstituer le code source à partir du code binaire. Si l'on souhaite pouvoir réaliser des modifications au programme, il est presque indispensable de disposer du code source.
Si l'on dispose du code source d'un programme, il est toujours possible d'étudier son fonctionnement et de le modifier en cas de besoin.

Le compilateur

Le code source d'un programme doit être traduits en langage machine. Ce travail est réalisé par un programme spécialisé appelé compilateur.
Des 0 et des 1Le compilateur examine les instructions écrites par le programmeur et les transforme en langage binaire, compréhensible par le processeur.
Il existe un grand nombre de compilateurs. Chacun est spécialisé dans le traitement de l'un ou l'autre langage évolué.
Un texte écrit dans un langage doit être compilé à l'aide d'un compilateur approprié à ce langage précis.
Un texte écrit en langage C doit être compilé par un compilateur C.

Les interpréteurs

Dans certains langages, le code source n'est pas préalablement traduit en langage machine par un compilateur.
Dans ce cas, la transformation en langage machine se fait au moment de l'exécution du programme : un interpréteur traduit le programme, ligne par ligne.
Le langage Python est un langage interprété.
Comme pour les langages compilés, il est nécessaire de disposer d'un interpréteur approprié pour chaque langage utilisé. Un programme écrit en langage Python doit être traité par un interpréteur Python.
Quand une ligne du programme doit être exécutée un grand nombre de fois, l'interpréteur la traduit autant de fois qu'elle est exécutée. Il en résulte une perte de temps et donc une moins grande rapidité des programmes en langage interprété par rapport aux langages compilés.
Par contre, il est plus rapide d'exécuter quelques lignes de programme afin de les tester dans un langage interprété.
Le rôle du compilateur est de:
 transformer le langage évolué en code binaire
écrire le texte des programmes d'ordinateurs
 traduire le code binaire en langage compréhensible
Un programme complexe qui doit s'exécuter très rapidement sera plutôt écrit
dans un langage compilé
Dans un langage interprété
Indifféremment dans un langage compilé ou interprété
Si l'on souhaite pouvoir disposer du code source d'un programme, il vaut mieux choisir un logiciel écrit
Dans un langage compilé
Dans un langage interprété
Indifféremment dans un langage compilé ou interprété
Un programme binaire est obtenu suite au travail
D'un compilateur
D'un interpréteur
Indifféremment dans un langage compilé ou interprété
La différence entre un interpréteur et un compilateur est que:
 Le compilateur est spécialisé dans un langage alors qu'un interpréteur peut traiter tous les langages évolués
 L'interpréteur traduit une ligne de code à la fois, cependant que le compilateur traduit tout le programme en une fois
 Le compilateur traduit une ligne de code à la fois, cependant que l'interpréteur traduit tout le programme en une fois
 Il n'y a pas de différence entre un compilateur et un interpréteur

Posts les plus consultés de ce blog

Le langage et l'interpréteur Python Patie 1

Le langage et l'interpréteur Python Cette partie du cours aura pour but de nous familiariser avec les concepts principaux de la programmation des ordinateurs.  Nous y apprendrons les rudiments de la programmation dans le cadre du langage  Python . Ce que nous aurons acquis en programmation  Python  pourra ensuite être réinvesti dans la programmation en d'autres langages. Ce cours sera largement basé sur l'ouvrage de G. Swinnen,  Apprendre à programmer avec Python . Ce livre est disponible dans le commerce et peut aussi être  téléchargé gratuitement et légalement . Pourquoi ce langage s'appelle-t-il Python? Ce langage a été conçu par  Guido van Rossum , fan inconditionnel des  Monty Python . D'où le nom. Comment disposer du langage Python sur son ordinateur? Les compilateurs du langage Python sont disponibles pour  Linux/Unix, Mac OS/X ou Windows . Le langage Python est distribué sans frais sous licence "Open Source"...

Equations différentielles du 1ér ordre

Equations différentielles du   ordre Définition   Une équation différentielle  est du 1er ordre si elle ne fait intervenir que la première dérivée  .  Eq.diff. à variables séparées Définition   Une équation différentielle  de 1er ordre est dite à variables séparées si elle peut s'écrire sous la forme Une telle équation différentielle peut s'intégrer facilement: En effet, on écrit  , puis,  symboliquement , (On écrit ici explicitement la  constante d'intégration  arbitraire   (qui est déjà implicitement présente dans les l'intégrales indéfinies) pour ne pas l'oublier.) Il s'agit donc d'abord de trouver des primitives    et   de   et de  , et ensuite d'exprimer   en terme de   (et de  ): C'est pour cette raison que l'on dit aussi «intégrer» pour «résoudre» une équation différentielle. Exemple  Résoudre sur   l...

Cous du 1ér année De L'Informatiques I

Les Cours D'Informatique 1ér Année De L'Enseignement Supérieur : Cous du 1ér année De L'Informatiques  I                  Télécharger Afficher