Que se passe-t-il lorsque je compile?
Je me demande quelle est la compilation, ce qui se passe lors de la compilation? Je veux dire oui, vous appuyez sur la compilation ou tapez dans la console, mais que faut-il réellement faire dans le "fond"?
source d'informationauteur ant
Vous devez vous connecter pour publier un commentaire.
Tout d'abord, le compilateur "lexes" la source. Cela signifie qu'il transforme la source dans une séquence de "jetons." Les jetons sont des séquences de lettres, de chiffres et de symboles qui ont une signification pour le compilateur.
Ensuite, le compilateur "analyse" la séquence de jetons à partir de l'étape un. Cela signifie que le compilateur vérifie pour s'assurer que la source est conforme à des règles (le la grammaire) du langage de programmation.
Ensuite, le compilateur effectue analyse syntaxique pour créer une représentation de la source afin de déterminer la sémantique de la source. C'est l'étape où le compilateur va créer un arbre de syntaxe.
Enfin, le compilateur va générer de sortie qui s'empare de la signification sémantique de la source dans la représentation cible (code machine, une langue véhiculaire, comme Microsoft CILou un autre langage de programmation).
Pour le bref de détails, voir Wikipedia. Pour les détails techniques voir le dragon livre (tous les étudiants de la science informatique doit étudier ce livre).
Voir cette
Fondamentalement, la magie des elfes et des fées humaine lisible le code en code machine.
Une très brève overfiew serait un compilateur analyse votre code de vérification pour les erreurs et les transforme ensuite en octets ou en code machine.
Pour une meilleure vue d'ensemble, je voudrais lire l'article de wikipedia sur des compilateurs:
http://en.wikipedia.org/wiki/Compiler
Ou cette.
Le Dragon Livre, la source d'origine de la construction des compilateurs.
La compilation est la traduction du code source en code machine. Habituellement, un compilateur (ou interprète) va générer un code intermédiaire, parfois appelé byte code qui s'exécute sur une machine virtuelle (java est compilé). Le byte-code est traduit par la machine virtuelle pour code spécifique de l'ordinateur c'est s'exécute sur l'architecture particulière que vous ciblez. L'ensemble de ce processus peut être considéré comme "compilation"