A voir également:
- Dans quel lang est compilé un prog sur linux?
- Linux mint - Télécharger - Systèmes d'exploitation
- Quel linux choisir - Guide
- Diskinternals linux reader - Télécharger - Stockage
- Linux live usb creator - Télécharger - Outils Internet
- Play on linux - Télécharger - Divers Utilitaires
6 réponses
C'est un peu bébête comme question, mais bon comme tu as marqué que tu était débutant...
le langage que tu obtiens c'est du binaire. Compiler un programme te génère obligatoirement du BINAIRE. Que ça soit sous AS-400, Linux, Windows, Mac, Silicon Graphicks...
Par contre, il existe des intérepréteur qui TRADUISENT un langage dans un autre.
Ex: l'interpreteur Perl, peut traduire un script perl en programme C.
Fait bien attention entre la notion de TRADUIRE et COMPILER. (même si la compilation est une traduction en soit... :) )
'Affiche une boite de dialogue pour choisir un dossier.
txtDir.Text = BrowseForFolder(Me, "Choisissez le dossier", "c:\")
>>> Donc, tu obtiens du binaire ;)
+.
le langage que tu obtiens c'est du binaire. Compiler un programme te génère obligatoirement du BINAIRE. Que ça soit sous AS-400, Linux, Windows, Mac, Silicon Graphicks...
Par contre, il existe des intérepréteur qui TRADUISENT un langage dans un autre.
Ex: l'interpreteur Perl, peut traduire un script perl en programme C.
Fait bien attention entre la notion de TRADUIRE et COMPILER. (même si la compilation est une traduction en soit... :) )
'Affiche une boite de dialogue pour choisir un dossier.
txtDir.Text = BrowseForFolder(Me, "Choisissez le dossier", "c:\")
>>> Donc, tu obtiens du binaire ;)
+.
Marden
Messages postés
1072
Date d'inscription
dimanche 11 février 2001
Statut
Membre
Dernière intervention
29 janvier 2006
208
19 déc. 2003 à 10:50
19 déc. 2003 à 10:50
Bonjour,
La compilation des langages "évolués", quel que soit le système d'exploitation, fournit un module en langage objet. Sous Unix/Linux, une option permet de tenir compte du processeur.
Moyennant le respect de quelques règles (noms de routines, passage de paramètres), on peut même "mélanger" les langages sources (ex : appeler une routine "C" depuis Fortran ou Pascal, et vice-versa). On peut même faire une édition de liens partielle (avec des références "non résolues"), dont le résultat sera utilisé ensuite dans une autre édition de liens pour produire un exécutable valide.
Dans le cas du shell (script), le langage est interprété au moment de l'exécution, donc le traitement est beaucoup plus lent.
La compilation des langages "évolués", quel que soit le système d'exploitation, fournit un module en langage objet. Sous Unix/Linux, une option permet de tenir compte du processeur.
Moyennant le respect de quelques règles (noms de routines, passage de paramètres), on peut même "mélanger" les langages sources (ex : appeler une routine "C" depuis Fortran ou Pascal, et vice-versa). On peut même faire une édition de liens partielle (avec des références "non résolues"), dont le résultat sera utilisé ensuite dans une autre édition de liens pour produire un exécutable valide.
Dans le cas du shell (script), le langage est interprété au moment de l'exécution, donc le traitement est beaucoup plus lent.
blux
Messages postés
25997
Date d'inscription
dimanche 26 août 2001
Statut
Modérateur
Dernière intervention
23 avril 2024
3 289
19 déc. 2003 à 11:53
19 déc. 2003 à 11:53
Euh... juste pour mettre mon grain de sel :
On obtient pas du langage binaire en compilant, on obtient une suite d'instructions directement exécutables par le processeur, et propres à ce processeur...
C'est juste pour dire que 'langage binaire' est un petit abus de langage... Parce qu'un fichier composé uniquement de 0 et de 1 ferait une sacrée taille :-)))
Mais bon, je chipote ;-)
A+ Blux
On obtient pas du langage binaire en compilant, on obtient une suite d'instructions directement exécutables par le processeur, et propres à ce processeur...
C'est juste pour dire que 'langage binaire' est un petit abus de langage... Parce qu'un fichier composé uniquement de 0 et de 1 ferait une sacrée taille :-)))
Mais bon, je chipote ;-)
A+ Blux
"Les cons, ça ose tout. C'est même à ça qu'on les reconnait"
Marden
Messages postés
1072
Date d'inscription
dimanche 11 février 2001
Statut
Membre
Dernière intervention
29 janvier 2006
208
19 déc. 2003 à 12:20
19 déc. 2003 à 12:20
A raison d'un 0 ou 1 par emplacement "binaire", çà ne fait pas forcément beaucoup de place. On parle effectivement de "binaire" par opposition au mode "caractère" du langage source. On rencontre l'extension ".bin" pour les résultats de certains compilateurs, qui ne sont pas encore des exécutables, même s'ils en sont proches sous Unix.
blux
Messages postés
25997
Date d'inscription
dimanche 26 août 2001
Statut
Modérateur
Dernière intervention
23 avril 2024
3 289
19 déc. 2003 à 13:15
19 déc. 2003 à 13:15
A raison d'un 0 ou 1 par emplacement "binaire"
Tu arrives à mettre autre chose à la place ? ;->>>
A+ Blux
Tu arrives à mettre autre chose à la place ? ;->>>
---------> je sors
A+ Blux
"Les cons, ça ose tout. C'est même à ça qu'on les reconnait"
Le CPU n'exécute pas du binaire c'est nouveau? Bien sur que c'est du binaire au sens primaire et non du binaire "asciizé" ce qui serait complétement stupide et non économique en mémoire. Chaque instruction du CPU correspond à un code sur 8 ou 16 bits suivi d'opérande(s) ce qui correspond grossièrement au langage d'assemblage auquel on a mis des noms sur les intructions pour pouvoir s'en rappeler.
Marden
Messages postés
1072
Date d'inscription
dimanche 11 février 2001
Statut
Membre
Dernière intervention
29 janvier 2006
208
19 déc. 2003 à 14:02
19 déc. 2003 à 14:02
En chipotant un peu plus, on peut dire qu'en plus des intructions, le résultat de la compilation contient aussi des données, celles dont la valeur est initialisée lors de la déclaration. Certains compilateurs "intelligents" prévoient de ne faire cette initialisation qu'au moment du chargement en mémoire de l'exécutable (par exemple, dans le cas de zones à 0), ce qui réduit la taille de l'objet et de l'exécutable sur disque.
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
Pour encore plus se faire c*** je dirais qu'un exécutable n'est effectivement exécutable que par l'OS car c'est un fichier structuré avec une en-tête qui spécifie l'OS , ... et une zone de données exécutable "pure" donc ne pas s'étonner qu'un exécutable Windows 95 ne marche pas sur Windows XP ou autre.