Comment un programme fonctionne t'il sur plusieurs architecture?
Fermé
artha77
Messages postés
116
Date d'inscription
mercredi 20 mai 2009
Statut
Membre
Dernière intervention
3 septembre 2015
-
3 sept. 2015 à 01:19
ElementW Messages postés 4816 Date d'inscription dimanche 12 juin 2011 Statut Contributeur Dernière intervention 5 octobre 2021 - 3 sept. 2015 à 14:03
ElementW Messages postés 4816 Date d'inscription dimanche 12 juin 2011 Statut Contributeur Dernière intervention 5 octobre 2021 - 3 sept. 2015 à 14:03
A voir également:
- Comment un programme fonctionne t'il sur plusieurs architecture?
- Logiciel architecture gratuit - Télécharger - Architecture & Déco
- Programme demarrage windows 10 - Guide
- Architecture 3d gratuit - Télécharger - Architecture & Déco
- Fichier ouvert dans un autre programme - Guide
- Desinstaller un programme - Guide
1 réponse
ElementW
Messages postés
4816
Date d'inscription
dimanche 12 juin 2011
Statut
Contributeur
Dernière intervention
5 octobre 2021
1 225
3 sept. 2015 à 14:03
3 sept. 2015 à 14:03
'lut, pour répondre à la première partie de ta question, la réponse est simple:
un programme écrit en C (ou autre) marche sur plusieurs architectures tout simplement car les langages de programmation, C inclus, font abstraction partielle ou totale de la plate-forme sur laquelle le programme tourne. Seul le compilateur/interpréteur se charge de faire en sorte que ça marche sur la machine cible.
Ceci dit l'exécutable final est incompatible entre les 2, il y a donc une version x86(_64) et ARM indépendantes qui sont produites dans ton exemple.
(quoique selon l'OS et les formats il est possible d'avoir un seul fichier contenant le code de plusieurs architectures, choisi au démarrage -- c'est que dans la théorie en revanche. En pratique ça existe mais c'est une démonstration technique relevant plus de l'extrême bidouillage qu'autre chose, on appelle ça un quine en anglais)
un programme écrit en C (ou autre) marche sur plusieurs architectures tout simplement car les langages de programmation, C inclus, font abstraction partielle ou totale de la plate-forme sur laquelle le programme tourne. Seul le compilateur/interpréteur se charge de faire en sorte que ça marche sur la machine cible.
Ceci dit l'exécutable final est incompatible entre les 2, il y a donc une version x86(_64) et ARM indépendantes qui sont produites dans ton exemple.
(quoique selon l'OS et les formats il est possible d'avoir un seul fichier contenant le code de plusieurs architectures, choisi au démarrage -- c'est que dans la théorie en revanche. En pratique ça existe mais c'est une démonstration technique relevant plus de l'extrême bidouillage qu'autre chose, on appelle ça un quine en anglais)