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
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
A voir également:
- C'est quoi la compilation
- Breach compilation - Guide
- Compilation pdf - Guide
- Java est un langage compilé ou interprété ✓ - Forum Java
- Compilation error: expected unqualified-id before '{' token ✓ - Forum C++
- Comment faire une compilation video - Forum Montage et acquisition vidéo
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
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.
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
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
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
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
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
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
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
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.
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.