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

Boost C++ Discussion :

Bug avec Boost.Threads


Sujet :

Boost C++

  1. #1
    Membre régulier
    Homme Profil pro
    Étudiant
    Inscrit en
    Juillet 2007
    Messages
    204
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juillet 2007
    Messages : 204
    Points : 82
    Points
    82
    Par défaut Bug avec Boost.Threads
    Bonjour,
    Mon problème est que j'avais compilé boost en static mode release. Toutes les bibliothèques marchaient bien jusqu'ici mais j'ai voulu tester boost.thread en compilant un test proposé par boost et cela m'envoie un message console me disant :
    "This application has requested the Runtime to terminate it in an unusual way..."

    Je ne comprends pas pourquoi cela beug alors que j'ai fait un simple copier-coller du code proposé par boost...
    J'ai linké toutes les bibliothèques de boost (peut-être qu'il faut pas tous les linker pour éviter des erreurs )

    Voici quand-même le code exemple :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    // Copyright (C) 2001-2003
    // William E. Kempf
    //
    //  Distributed under the Boost Software License, Version 1.0. (See accompanying
    //  file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
     
    #include <boost/thread/thread.hpp>
    #include <boost/thread/xtime.hpp>
    #include <iostream>
     
    struct thread_alarm
    {
      thread_alarm(int secs) : m_secs(secs) { }
      void operator()()
      {
        boost::xtime xt;
        boost::xtime_get(&xt, boost::TIME_UTC);
        xt.sec += m_secs;
     
        boost::thread::sleep(xt);
     
        std::cout << "alarm sounded..." << std::endl;
      }
     
      int m_secs;
    };
     
     
    int main(int argc, char* argv[])
    {
      int secs = 5;
      std::cout << "setting alarm for 5 seconds..." << std::endl;
      thread_alarm alarm(secs);
      boost::thread thrd(alarm);
      thrd.join();
    }
    J'avais même laissé les commentaires en haut de fichier
    Merci d'avance pour votre aide !!

    PS : cela me fait ce bug même quand je link que le boost.thread

  2. #2
    Membre régulier
    Homme Profil pro
    Étudiant
    Inscrit en
    Juillet 2007
    Messages
    204
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juillet 2007
    Messages : 204
    Points : 82
    Points
    82
    Par défaut
    Bon alors, j'ai fait un try{} catch(...){} et le catch est lancé !
    L'ennui c'est que je n'ai pas trouvé quel type d'erreur est lancé...
    Est-ce que vous pensez que ca peut changer quelque chose si on link en staitc ou dynamic ?

  3. #3
    Membre confirmé
    Inscrit en
    Août 2004
    Messages
    556
    Détails du profil
    Informations forums :
    Inscription : Août 2004
    Messages : 556
    Points : 588
    Points
    588
    Par défaut
    Tu compiles bien en mode multithread ?

    Et évite de linker tout si tu n'en a pas besoin, link juste boost_thread

  4. #4
    Membre régulier
    Homme Profil pro
    Étudiant
    Inscrit en
    Juillet 2007
    Messages
    204
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juillet 2007
    Messages : 204
    Points : 82
    Points
    82
    Par défaut
    Oui c'est du multi-thread ! Et j'ai essayé de compiler en dynamique mais ca n'a pas marché...
    Et j'ai essayé un projet avec que boost thread linké mais là encore ca m'a donné le même résultat

  5. #5
    Rédacteur
    Avatar de 3DArchi
    Profil pro
    Inscrit en
    Juin 2008
    Messages
    7 634
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2008
    Messages : 7 634
    Points : 13 017
    Points
    13 017
    Par défaut
    Salut,
    Cela ressemble au problème déjà rencontré sur Boost.Date_time.
    Si tu compiles avec gcc, alors essaies ce qui est proposé ici. Personnellement, j'ai eu le même problème jusqu'à trouver ce problème et corriger comme indiqué.

  6. #6
    Membre régulier
    Homme Profil pro
    Étudiant
    Inscrit en
    Juillet 2007
    Messages
    204
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juillet 2007
    Messages : 204
    Points : 82
    Points
    82
    Par défaut
    Mais c'est horrible d'avoir une tel erreur dans de grandes bibliothèques !! (enfin c'est mon avis)
    Mais si on a trouvé cet erreur, pourquoi ne l'ont t-ils pas corrigé ?

  7. #7
    Membre régulier
    Homme Profil pro
    Étudiant
    Inscrit en
    Juillet 2007
    Messages
    204
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juillet 2007
    Messages : 204
    Points : 82
    Points
    82
    Par défaut
    En tout cas, chez moi ca marche
    Il faudrait le signaler dans les tutoriels pour éviter que les gens comme moi tombent dans le panneau (à moins que j'ai dû sauter cette partie )

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Problème lors du link avec Boost thread.
    Par Andarus dans le forum Boost
    Réponses: 1
    Dernier message: 16/02/2012, 16h43
  2. Problème de compilation/linkage avec boost::thread
    Par theanthony33 dans le forum Boost
    Réponses: 7
    Dernier message: 26/04/2010, 00h37
  3. Problème de lib avec Boost::thread
    Par TocTocKiéLà? dans le forum Boost
    Réponses: 5
    Dernier message: 14/08/2007, 01h05
  4. [BOOST] Problème avec les threads
    Par SOAD08 dans le forum Dev-C++
    Réponses: 7
    Dernier message: 08/10/2006, 10h23
  5. Questions de perfomance avec boost::thread
    Par Rafy dans le forum Boost
    Réponses: 36
    Dernier message: 05/10/2006, 15h21

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