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 4764 Date d'inscription dimanche 12 juin 2011 Statut Contributeur Dernière intervention 5 octobre 2021 - 3 sept. 2015 à 14:03
ElementW Messages postés 4764 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?
- Ce programme est écrit en python. il construit un mot secret dans une variable mais il ne l'affiche pas. modifiez-le pour qu'il affiche le mot secret. exécutez-le. quel est ce mot secret ? ✓ - Forum Python
- Logiciel architecture gratuit - Télécharger - Architecture & Déco
- Architecture 3d gratuit - Télécharger - Architecture & Déco
- Frequence programme national ✓ - Forum Messagerie
- Programme demarrage windows 10 - Guide
1 réponse
ElementW
Messages postés
4764
Date d'inscription
dimanche 12 juin 2011
Statut
Contributeur
Dernière intervention
5 octobre 2021
1 295
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)