Faire un don ! | | style | statistiques | contactez-nous | plan | lettre d'information

Journal : Le Pourquoi Windows plante !

Posté par Snarky (Jabber id, page perso, ) le 18 août 2007
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 :
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

Posté par Éric (Jabber id, page perso, ) le 18/08/2007 à 17:15. (lien). Évalué à 9.

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

    Posté par aedrin () le 18/08/2007 à 17:17. (lien). Évalué à 10.

    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

    Posté par LeMagicien Garcimore () le 18/08/2007 à 17:19. (lien). Évalué à 2.

    Ou pire, blâmer le mauvaise outil...

    [^]Re: grumph

    Posté par Nicolas Schoonbroodt (Jabber id, page perso, ) le 18/08/2007 à 18:48. (lien). Évalué à 8.

    Le pire c'est quand le développeur ne peut penser que à un bug des outils, jamais à se remettre en cause.
    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

      Posté par Calim' Héros (Jabber id, page perso, ) le 18/08/2007 à 19:45. (lien). Évalué à 10.

      * 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"

      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