IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

C++ Discussion :

Comportements différent suivant optimisation ou non


Sujet :

C++

  1. #21
    Membre émérite Avatar de mchk0123
    Profil pro
    Inscrit en
    Janvier 2007
    Messages
    816
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Janvier 2007
    Messages : 816
    Par défaut
    Un conseil change de compilo (pas de version hein!) pour voir ...
    Tu pourrais avoir de nouveaux message d'erreur indicatifs.

  2. #22
    Expert éminent
    Avatar de koala01
    Homme Profil pro
    aucun
    Inscrit en
    Octobre 2004
    Messages
    11 644
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : Belgique

    Informations professionnelles :
    Activité : aucun

    Informations forums :
    Inscription : Octobre 2004
    Messages : 11 644
    Par défaut
    Salut,

    Se pourrait-il que le problème soit du soit à l'option de compilation utilisée lors de la compilation de la STL, soit à l'absence de bibliotheques large précision (ce que tente d'ailleurs de déterminer jean-marc)

    Je pense en particulier, et bien qu'elles ne soient nécessaire que pour fortran (ou est-ce pour ada) lors de la compilation de mingw, aux bibliothèques gmp et mpfr

    Bien sur, la seule absence de ces bibliotheques a peu de chances d'être responsable de la différence selon le choix de l'option d'optimisation... mais... Sait-on jamais

    [EDIT]il me semble qu'en lancant gcc -v en ligne de commande, tu devrait trouver dans la liste des parametres de configuration, s'ils ont été déclarés, --with-gmp et --with-mpfr
    A méditer: La solution la plus simple est toujours la moins compliquée
    Ce qui se conçoit bien s'énonce clairement, et les mots pour le dire vous viennent aisément. Nicolas Boileau
    Compiler Gcc sous windows avec MinGW
    Coder efficacement en C++ : dans les bacs le 17 février 2014
    mon tout nouveau blog

  3. #23
    Rédacteur

    Avatar de millie
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    7 015
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2006
    Messages : 7 015
    Par défaut
    g++ -v me donne simplement :

    Configured with: ../gcc-3.4.5/configure --with-gcc --with-gnu-ld --with-gnu-as --host=mingw32 --target=mingw32 --prefix=/mingw --enable-threads --disable-nls --enable-languages=c,c++,f77,ada,objc,java --disable-win32-registry --disable-shared --enable-sjlj-exceptions --enable-libgcj --disable-java-awt --without-x --enable-java-gc=boehm --disable-libgcj-debug --enable-interpreter --enable-hash-synchronization --enable-libstdcxx-debugThread model: win32
    gcc version 3.4.5 (mingw special)
    De toute façon, je crois que je vais attendre de pouvoir tester sur mon ordinateur, avec d'autres compilateurs, et sur d'autres plate-formes. Parce que là, j'ai assez perdu de temps avec ça

  4. #24
    Expert confirmé

    Inscrit en
    Novembre 2005
    Messages
    5 145
    Détails du profil
    Informations forums :
    Inscription : Novembre 2005
    Messages : 5 145
    Par défaut
    Si, comme j'ai cru comprendre, ca passe avec -O1 -float-store ou avec -O1 -msse -fpmath=sse et pas avec -O1, c'est du soit a un bug de gcc qui ne fait pas toujours ce qu'il devrait faire dans la gestion de la precision -- mais je vois que tu es sous Windows et il me semble que sous Windows le probleme est generalement masque par la configuration du coprocesseur, mais je peux me tromper --, c'est soit un probleme dans ton code qui est tres sensible a la precision (et il n'est pas improbable que regler le probleme dans ton code active le probleme de gcc). Jouer avec les options risque de simplement masquer le probleme jusqu'a ce qu'il reapparaisse apres un changement mineur dans le code ou un changement de compilateur.

    Dans ce cas, il faudrait faire voir ton code a quelqu'un qui s'y connait en analyse numerique pour etudier les caracteristiques de ton algo.

  5. #25
    Rédacteur

    Avatar de millie
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    7 015
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2006
    Messages : 7 015
    Par défaut
    Autant pour moi, je me suis mal exprimé

    Dès que je mets -O ou -O1, ça ne marche plus.
    Seulement avec -ffloat-store, ça marche (sans -O)
    Avec -O -ffloat-store, ça ne marche plus.


    Je vais essayer de me débrouiller, merci bien

  6. #26
    Expert confirmé
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Décembre 2003
    Messages
    3 549
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Décembre 2003
    Messages : 3 549
    Par défaut
    Fais tourner avec valgrind, les trucs bizarres tu les verras direct.

  7. #27
    Rédacteur

    Avatar de millie
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    7 015
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2006
    Messages : 7 015
    Par défaut
    Donc voilà, j'ai enfin pu tout essayer.

    Sous linux avec O3, ça marche parfaitement.

    J'ai fait tourné valgrind, j'avais oublié un destructeur quelque part (enfin rien de grave). J'ai corrigé et ça ne marche toujours pas (ça aurait été étonnant que l'erreur provienne de là).

    Donc, comme de toute façon, mon programme est très modulaire et que ce module n'est pas vraiment important, je crois que je vais le mettre de côté (en fournissant éventuellement une version "buguée" sous windows).

    Merci à tout le monde

Discussions similaires

  1. [AC-2003] comportement différent suivant les pc - liste paramétrée
    Par Dermochelys dans le forum Requêtes et SQL.
    Réponses: 6
    Dernier message: 04/04/2011, 14h35
  2. Liste déroulante avec comportement différent suivant les navigateurs
    Par smfoa dans le forum Bibliothèques & Frameworks
    Réponses: 1
    Dernier message: 30/01/2011, 12h55
  3. Comportement différent suivant le pc
    Par peter27x dans le forum Débuter
    Réponses: 6
    Dernier message: 27/04/2010, 15h25
  4. Réponses: 0
    Dernier message: 25/10/2008, 11h50
  5. Réponses: 15
    Dernier message: 19/06/2006, 20h25

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo