Floating Point Exception - C - Programmation
Marsh Posté le 04-03-2008 à 15:43:07
sort ton gdb et trouve le plantage.
si tu compiles sur l'autre machine, le résultat fonctionne ?
Marsh Posté le 04-03-2008 à 15:45:20
J'ai pas encore essayé de compiler sur l'autre machine, mais je comptais le faire.
Le GDB ?
Marsh Posté le 04-03-2008 à 15:48:22
bah tu gcc -Wall -ggdb *.c
gdb ./a.out
r
bt
et tu cherches
Marsh Posté le 04-03-2008 à 15:50:13
J'ai compilé et exécuté sur l'autre machine et ça fonctionne.
Edit : Vais essayer de voir avec GDB
Marsh Posté le 04-03-2008 à 15:51:10
ReplyMarsh Posté le 04-03-2008 à 15:54:40
Elmoricq a écrit : bah problème d'archis différentes entre la machine source et cible donc |
wof, ça peut plus être des problèmes d'ABI qu'autre chose. Ou alors un petit problème qui se manifeste plus fortement d'une machine à l'autre.
Marsh Posté le 04-03-2008 à 16:02:37
j'y pensais plus aux problèmes d'abi, pourtant j'en ai eu un y a pas longtemps...
Marsh Posté le 04-03-2008 à 16:16:50
C'est balo.
Moi qui voulait un truc super portable..
Si je dois le recompiler sur chaque machine différente, c'est useless.
Merci pour vos réponses anyway.
Marsh Posté le 04-03-2008 à 17:48:52
Sinner a écrit : C'est balo. |
tu peux compiler en static dans une certaine mesure.
Marsh Posté le 05-03-2008 à 10:11:01
Ah mon avis tu as juste un bug dans ton code, et pour une raison ou une autre il ne se voit que sur une des deux machines. Ou alors tu a compilé pour ton CPU, et quand tu passes sur Itanium 2 ça ne passe plus. Dans ce cas il faut compiler pour une archi avec laquelle tes deux systèmes sont compatibles, y'a pas de miracles.
Un problème d'ABI, ça m'étonnerait vu ce que fait ton programme. Tu utilises des lib particulières ?
Marsh Posté le 04-03-2008 à 15:29:21
Bonjour
J'ai codé un programme en C qui permet de prendre des données dans un fichier et de les recopier dans d'autres fichiers différents.
J'ai codé sous Linux Mandriva 2008, j'ai compilé et exécuté le programme, et tout a très bien fonctionné.
J'ai ensuite copié l'exécutable sur une autre machine Linux dont voici le descriptif si ça peut aider.
Sur cette machine, lorsque j'exécute le code, il s'arrête illico sans même effectuer la première étape qui consiste à ouvrir un fichier et afficher un message de confirmation. Il affiche à la place :
Floating Point Exception.
J'ai lu en faisant quelques recherches que ces erreurs étaient dues à des erreurs essentiellement numériques.
Or, je n'effectue aucun calcul dans ce code..
Une idée ?
Merci pour les réponses.
Message édité par Sinner le 04-03-2008 à 15:30:16