2010-09-06 4 views
5

Possible en double:
How does an interpreter/compiler workDifférence exacte entre le compilateur et l'interprète?

Salut Quelle est la différence exacte entre le compilateur et interprète?

+0

Ceci est quelque chose qui pourrait être recherché par une recherche google – Raj

+5

Nous devrions être plus agréables à noobs. Je ne vois aucun problème à poser une telle question ici. – pavanlimo

+0

@pavan, après les cent premières questions de cette classe (c'est-à-dire en double et/ou trivial), vous pouvez commencer à voir le problème ... :-) –

Répondre

5

de Wikipédia:

  • Compiler: Un compilateur est un programme informatique (ou ensemble de programmes) qui transforme le code source écrit dans un langage de programmation (la langue source) dans une autre langue informatique (la langue cible, ayant souvent une forme binaire connue sous le nom de code objet).
  • Interpreter: Un langage interprété est un langage de programmation dans lequel les programmes sont «indirectement» exécutés («interprétés») par un programme d'interprétation. Cela peut être comparé avec un langage compilé qui est converti en code machine et ensuite 'directement' exécuté par le CPU hôte.
3

compilateur

Un compilateur génère un code de montage dépendant de la machine qui peut ensuite être assemblé et relié à l'ordinateur approprié en op-code pour permettre au programme à exécuter. Ce processus ne peut être exécuté qu'au moment de la construction.

Interprète

Un interprète génère du code indépendant de la machine qui peut alors être sur la volée compilé le code assembleur (par exemple la compilation Just-in-Time). Ce processus peut être exécuté au moment de la construction et/ou de l'exécution.

Espérons que cela aide!

+0

Peu d'interprètes produisent un code machine. Sauf si le code machine va être conservé et réutilisé (auquel cas la chose qui fait la conversion est un compilateur), la plupart des interprètes comprennent ce qui doit être fait et le font sans générer de code machine en premier. Le seul cas où un interpréteur produirait normalement du code machine serait pour quelque chose comme l'instruction IN/OUT du 8080 qui nécessite une adresse codée en dur. Pour gérer une instruction "OUT 100,5", l'interprète stockera les instructions "OUT 64h" et "RET" à un endroit fixe, chargera A avec 5, et CALL cet endroit. – supercat

Questions connexes