Vous n'êtes pas identifié(e).
Pages : 1
Hors ligne
saque eud dun (patois chtimi : fonce dedans)
Hors ligne
Dans ce type de langage, le code source (compréhensible par l'humain) est compilé à l'aide d'un... compilateur Automatiquement, tu obtiens un code binaire qui sera interprété par le microprocesseur de la machine. Le microprocesseur de la machine sera donc chargé d’exécuter ce code binaire. (0 et 1)
Le problème c'est que lorsque tu compiles tu vas avoir un code binaire spécifique à chaque système d'exploitation. Un spécifique à Linux, un spécifique à Windows et un spécifique à Mac OS == Pas très pratique.
Tu as bien compris. Un langage interprété est lu et interprété au fur et à mesure de sa lecture mais n'est pas compilé. Création de page web par exemple. T'as un bon tuto sur le HTML ici.
Beaucoup plus flexible. Premièrement, tu écris ton code source et au lieu de le compiler directement en code binaire, tu fais une première compilation qu'on appelle le byte code. Ce byte code pourra quant à lui être distribué sur chaque machine. Il est indépendant du système d'exploitation utilisé. En revanche, si tu veux utiliser ce programme il te faudra, en effet, une machine virtuelle ; spécifique à chaque OS.
La machine virtuelle va te permettre d'interpréter ce byte code et obtenir le code binaire qui sera exécuté sous ta machine. En Java, on utilise JRE (Java Runtime Environment) ; ou JDK (Java Development Kit) qui est plus complet.
Edit :
"Bytecode" (qui apparement, est un code binaire...)
Le byte code n'est pas un code binaire. Il est assez... spécial ! Ouvre un fichier .class, tu verras
Dernière modification par Rockmyu (09-03-2016 00:11:56)
Hors ligne
Hors ligne
Pourquoi compiler ? Le fichier test.c est là uniquement pour un être humain et ne peut pas être compris par une machine. C'est le rôle du compilateur, ici gcc, de transformer un fichier texte en un fichier exécutable.
Le compilateur crée un fichier exécutable (binaire) là où tu le lui demande ; /Desktop par exemple. Tu auras un fichier qui se créera, tu peux remplacer program.x par ce que tu veux, et tu pourras lancer ton programme sur le terminal, à l'emplacement du fichier, comme ceci :
le compilateur crée un fichier du code en binaire qu'il enregistre sur le disque dur ou il fait appel à la ram ?
La mémoire vive (RAM) c'est ce qui permet à ton ordinateur d'effectuer plusieurs tâches à la fois. Ton DD assure le stockage, héberge tes programmes, mais c'est la RAM qui en assure le fonctionnement en les exécutant.
Et si il "traduit" un code source en binaire, à quoi sert finalement "l'édition de lien" ?
Je programme souvent en Java ces temps-ci et java n'a pas besoin de l'édition de lien. Regarde cette page wiki pour approfondir un peu mais lorsque tu commenceras à programmer tu comprendras mieux de toute façon. C'est en forgeant qu'on devient ... Lance toi !
Et du coup, je suppose que chaque systeme d'exploitation possède un compilateur par défaut ?
Oui, mais rien ne t'empêche d'en installer d'autres.
Edit : Sur Windows y a rien d'installé par défaut je crois
Et pour l'interprétation, je ne suis pas sûr de comprendre, un langage interprété est lu au fur et à mesure mais n'est pas compilé. Ca veut dire qu'il n'y a pas de binaire de ce code source ?
Oui, tu n'as pas besoin de rendre ce langage compréhensible par la machine ; il sera interprété. Cette conversation t'aidera à mieux comprendre. Surtout le dernier message.
si je comprends bien, on peut lancer les programmes sur n'importe quel OS du moment ou il y a une machine virtuelle d'installer ?
Oui Le byte code est unique.
Tu as aussi des IDE (Integrated Development Environment) qui sont des systèmes qui regroupent à la fois un compilateur, un éditeur de texte et un débogueur (e.g. codeblocks, Eclipse). C'est, en effet, plus pratique mais mon prof nous l'a déconseillé ; il nous forçait à compiler et exécuter le programme depuis le terminal.
Dernière modification par Rockmyu (09-03-2016 00:42:38)
Hors ligne
Hors ligne
Pages : 1