-
Bug du compilo ?
Salut à tous,
je fait actuellement face à un probleme: j'ai une ligne de code combinant plusieurs opération mathématiques (sin, cos, log...) et il s'avere que le résultat de cette fonction est différent en "release" et en "debug" (sous VC6, mais ce n'est pas le probleme). 8O
Alors ma question est : est-ce que ce comportement est conforme à la norme c++ (et il faut donc ne pas s'en étonner), ou alors est-ce une erreur du compilo qui n'evalue pas les fonctions dans le meme ordre en release d'ou l'erreur ? Le comportement d'un compilo sur des calculs est-il toujours sencé etre le meme, peut importe les optimisations ?
A noter que si je separe le gros calcul en plusieurs petits sous-calculs, le resultat obtenu est bien le meme dans les 2 cas.
-
Dans les options du projet, C/C++->Génération de code->Modèle de virgule flottante, compare les réglages release/debug.
-
sans voir le code difficile de repondre.
pas de warning a la compilation ?
:D
-
Merci des réponses. En fait le probleme dont j'ai parlé est celui d'un collegue, donc je ne pourrai pas vous mettre le code, mais ca m'étonnais de voir une différence de comportement au niveau calcul entre debug et release, alors je demandais au cas ou...
D'autre part, c'est VC6 donc il n'y a pas l'onglet "Modèle de virgule flottante".
Bonne journée !