Voici un soucis que j'ai eu aujourd'hui et qui m'as fait perdre deux bonnes heures de boulot pour RIEN !
Bon, c'est en relation avec Microsoft Windows(c) mais ça prouve bien que même le B-A-BA du fonctionnement d'un logiciel et biaisé par l'OS, et provoque donc des plantages là où ça ne devrai pas.
Alors voici mon problème, je suis en cours de portage d'une de mes applications vers Windows(c)... :-(
Remarquant un bug d'une valeur, je part à la chasse au bug pour finalement isoler le bug suivant :
Même un développeur de base comprendra ce code.
Et voici le résultat de l'exécution sous Windows (aucun soucis sous linux) :
Prend 800.000000 * 0.750000 * 0.600000 = 360.000000 ( 359 ) = 360.000000 ( 360 )
Peut-t-on m'expliquer ce que fou là ce 359 !? Windows compte mal à ce point ?
Ca m'inquiète sincèrement sur la qualité d'application même bien développé...
Pour information, ça a été compilé avec g++ 3.4.4 sous Windows.
PS: A la base, je voulais poster ça dans le forum de developpez.net (qui est mieux pour les questions dev), mais il est HS. Donc j'ai voulu mettre sur ce forum, qui n'est pas accessible non plus, donc en désespoir de cause, je poste ici :-)
Bon, c'est en relation avec Microsoft Windows(c) mais ça prouve bien que même le B-A-BA du fonctionnement d'un logiciel et biaisé par l'OS, et provoque donc des plantages là où ça ne devrai pas.
Alors voici mon problème, je suis en cours de portage d'une de mes applications vers Windows(c)... :-(
Remarquant un bug d'une valeur, je part à la chasse au bug pour finalement isoler le bug suivant :
double a = 800.0 ;
double b = 0.75 ;
double c = 0.6 ;
double d = a*b*c ;
printf("Prend %f * %f * %f = %f ( %i ) = %f ( %i ) %\n", a, b, c, a*b*c, (int)(a*b*c), d, (int)d) ;
Même un développeur de base comprendra ce code.
Et voici le résultat de l'exécution sous Windows (aucun soucis sous linux) :
Prend 800.000000 * 0.750000 * 0.600000 = 360.000000 ( 359 ) = 360.000000 ( 360 )
Peut-t-on m'expliquer ce que fou là ce 359 !? Windows compte mal à ce point ?
Ca m'inquiète sincèrement sur la qualité d'application même bien développé...
Pour information, ça a été compilé avec g++ 3.4.4 sous Windows.
PS: A la base, je voulais poster ça dans le forum de developpez.net (qui est mieux pour les questions dev), mais il est HS. Donc j'ai voulu mettre sur ce forum, qui n'est pas accessible non plus, donc en désespoir de cause, je poste ici :-)
> Lire le journal (49 commentaires, moyenne: 4,1).
Vous avez demandé le commentaire #859437.



grumph
Il y a encore des développeurs C à qui on n'a pas appris que le travail sur les flottant c'est de l'approximation, avec tous les problèmes que ça pose quand on fait une troncature ou un test d'égalité ?
Quand je vois ça en PHP ou dans les scripts j'accepte que le développeur ne sache pas, mais quand on travaille à bas niveau comme dans le C, ça fait partie des pré-requis je pense.
Le pire c'est quand le développeur ne peut penser que à un bug des outils, jamais à se remettre en cause.
[^]Re: grumph
pour lui, c'est même pas un bug de l'outil, mais un bug de l'OS...
en fait il s'est trompé de jour, il aurait dû poster hier... ;-)
[^]Re: grumph
Ou pire, blâmer le mauvaise outil...
[^]Re: grumph
Les libristes* ont une réputation à maintenir, celle de critiquer microsoft dès que possible, même si la raison n'est pas bonne. Du coup, ce journal se justifie. Non ?* je fais une généralité, même si c'est une minorité, cette minorité suffit à faire la réputation de tous, un peu comme "les supporters de foots sont idiots"
[ Répondre ] Ce commentaire est-il impertinent ou utile ?
[^]Re: grumph
Alors la je ne suis pas d'accord, si c'était le même cas, on dirait que les supporter de foot sont intelligents puisque c'est la que ce trouve la minorité.
Ce commentaire est :
Génial, Nul, 42