C'est quoi la compilation

Fermé
slouma - 29 avril 2017 à 14:30
telliak Messages postés 3663 Date d'inscription mercredi 20 septembre 2006 Statut Membre Dernière intervention 25 juin 2024 - 29 avril 2017 à 15:04
Bonjour,

je veux savoir si la compilation est la traduction du code source en code assembleur ou en code binaire ?

le code binaire est dapres ce que j'ai compris est un fichier composé par des 0 et des 1, le processeur va alors ouvrir ce fichier et le lire et lorsqu'il trouve un 1 il le converti en courant ? c'est ca ?
corriger moi svp

4 réponses

Felice_ Messages postés 265 Date d'inscription mardi 25 avril 2017 Statut Membre Dernière intervention 20 juillet 2017 11
29 avril 2017 à 14:42
Compilation, en informatique : travail réalisé par un compilateur qui consiste à transformer un code source lisible par un humain en un fichier binaire exécutable par une machine.
1
KX Messages postés 16752 Date d'inscription samedi 31 mai 2008 Statut Modérateur Dernière intervention 31 août 2024 3 018
Modifié le 29 avril 2017 à 14:53
Bonjour,

Dans certains cas ce que tu dis est correct, mais dans le cas général il y a des imprécisions qui font que cela peut être faux.

"le code binaire est dapres ce que j'ai compris est un fichier composé par des 0 et des 1"
Techniquement, tous les fichiers sont composés de 0 et de 1, car c'est le seul moyen pour l'ordinateur de les stocker et de les traiter.
Un fichier binaire se différencie d'un fichier texte par sa capacité à être modifié par un être humain. L'ajout d'un caractère en plein milieu d'un fichier texte n'aura généralement d'impact que sur le texte proche du caractère modifié, alors qu'une modification d'un fichier binaire - même d'un seul bit - peut corrompre l'intégralité du fichier.
Sauf exceptions, le code source est un fichier texte, le résultat de la compilation est un fichier binaire.

"le processeur va alors ouvrir ce fichier et le lire "
En général ce n'est pas le processeur qui lit le fichier, mais le système d'exploitation, c'est pour cela que la compilation d'un programme est différente pour Windows, Linux ou Mac, car même si le code source est identique au départ, le programme à compiler sera différent.
On peut aussi compiler du bytecode, c'est à dire un format de fichier qui ne sera pas lu par le système d'exploitation mais par un programme installé sur celui-ci (exemple les machines virtuelle Java)

"la compilation est la traduction du code source en code assembleur ou en code binaire ?"
Donc pour répondre à ta question, oui, la compilation est une traduction du code source, en général à sens unique : il n'est pas possible de récupérer le code source à partir du résultat de la compilation.
Cependant on ne peut pas vraiment dire que cette traduction se fasse "en code assembleur ou en code binaire", car cela dépend du compilateur.
De manière général on parlera plutôt de "fichier exécutable" c'est à dire que le programme est valide et prêt à être exécuté (que ce soit directement par le système d'exploitation ou via une machine virtuelle)
La confiance n'exclut pas le contrôle
1
jee pee Messages postés 40288 Date d'inscription mercredi 2 mai 2007 Statut Modérateur Dernière intervention 5 octobre 2024 9 359
29 avril 2017 à 14:51
Salut,

L'assembleur est un langage de programmation, comme le C ou le pascal, il doit lui aussi être compilé pour obtenir un code exécutable.

cdlt
0
telliak Messages postés 3663 Date d'inscription mercredi 20 septembre 2006 Statut Membre Dernière intervention 25 juin 2024 876
29 avril 2017 à 15:04
Re,
le code binaire est dapres ce que j'ai compris est un fichier composé par des 0 et des 1, le processeur va alors ouvrir ce fichier et le lire et lorsqu'il trouve un 1 il le converti en courant ? c'est ca ?
Cette métaphore est quand même un peu éloignée de la réalité... je te conseille plutôt une recherche, avec architecture ordinateur, par exemple.
0