Bonsoir à tous !
Ma question me semble entre Matériel, Système et Applications alors désolé si je poste au mauvais endroit.
Je compile un même code source :
- avec gcc 4.2.3 sur une machine 1 qui donne l'exécutable A
- avec gcc 3.4.3 sur une machine 2 qui donne l'exécutable B
B s'exécute sur les machines 1 et 2, seulement A ne s'exécute que sur la machine 1. Sur la machine 2, le lancement de l'exécutable aboutit immédiatement à un "Floating Point Exception" sans même entrer dans l'appli elle-même (la toute 1ère ligne de code n'est jamais atteinte).
Je le vois comme ca : les machines 1 et 2 ont des processeurs différents qui n'ont pas le même jeu d'instructions binaires, et en chargeant l'exécutable A dans la mémoire de la machine 2 ... bah ca bug :/
Ceci est-il possible ? Dans ce cas (tordu je vous l'accorde), comment faire pour faire fonctionner A sur les machines 1 et 2 ? Passer -march et -mtune à gcc avec en paramètre le "plus petit dénominateur commun" en terme d'architecture processeur (typiquement i386) ? Si qqun propose autrechose pour que A s'exécute sur 1 et 2 et utilise à fond le Pentium 4 Core 2 Duo de la machine 1 ça m'arrange AUSSI !
Merci d'avance à ceux qui seront déjà arrivés jusqu'à la fin de ce message :/
Partager