2

Quelle est exactement la différence entre le langage interprété et compilé. Par exemple, je veux imprimer les nombres de 1 à 100.Comment exactement la séquence d'opérations a lieu dans le cas de l'interpréteur et compilateur.Étapes effectuées dans le cas de INTERPRETER et COMPILER

De plus, si possible s'il vous plaît me fournir les étapes selon langage Java et C langue

Thx

+0

balises intéressants ... –

+0

double possible de [ Runtime vs Compile time] (http://stackoverflow.com/questions/846103/runtime-vs-compile-time). Notez également que votre demande concernant java et c est difficile comme je l'interprète (heh!). Ni java ni c sont généralement interprétés, et décrivant le travail de l'un ou l'autre type de programme dans ces langues prend un petit livre. – dmckee

+0

Les langues ne peuvent généralement pas être catégorisées comme interprétées ou compilées. La plupart des langues peuvent être interprétées et compilées. Cette distinction ne joue que lorsque nous parlons d'une implémentation spécifique. – svenningsson

Répondre

1

Un langage compilé est une langue qui convertit le code source en code machine. Aussi connu comme une application native.

Un langage interprété est un langage qui convertit le code source en un intermédiaire. Pendant l'exécution du programme, un interpréteur exécute le code source. Les langages interprétés ont tendance à être, mais pas toujours, significativement plus lents que les langages compilés. Ils sont utiles, cependant, pour la portabilité.

C est compilé, transformant le code source:

for (int i=1;i<=100;i++) { printf("%d",i); } 

dans l'assemblage, puis en code machine. Le processeur récupère chaque instruction machine et l'exécute. C'est très rapide. Java, cependant, convertit le code source en un code octet intermédiaire. Au moment de l'exécution, il est exécuté sur une "machine virtuelle", ce qui peut être plus lent qu'une application compilée native.

+0

Ce n'est pas lié à une langue. Vous pouvez écrire à la fois des interpréteurs et des compilateurs pour chaque langue, bien que par ex. écrire un compilateur pour un langage dynamique qui supporte 'eval' est plus difficile que d'écrire un interpréteur. Par exemple, il existe [C interpreters] (http://www.softintegration.com/support/faq/general.html) et [Java compilers] (http://gcc.gnu.org/java/). – DarkDust

+0

Vous POUVEZ, mais la plupart des langages sont conçus pour être compilés ou pour être interprétés. –

+0

Aussi, le compilateur Sun "officiel" est aussi celui, un compilateur. Il compile votre source en bytecode, et * cela * doit être interprété par la machine virtuelle. Des exemples d'interpréteur seraient Ruby, Python, Perl ou bash. – DarkDust