Partage
  • Partager sur Facebook
  • Partager sur Twitter

Erreur lors de l'execution de la fonction thread

    19 mars 2019 à 17:12:49

    Bonjour à tous,

    J'essaye de créer un programme qui va récolter des données sur un IMU et de les écrire sur un fichier. Afin d'économiser de la place sur l'appareil, un fichier txt est créé toutes les heures et l'ancien fichier est compressé via un thread afin de ne pas interrompre l'acquisition de donnée. L'appareil en question est un Reach M+ possédant un processeur ARM et je dois donc faire de la cross-compilation.

    Afin de tester la fonction thread en C++, j'ai effectué un petit programme qui consiste à juste écrire un "test" sur l'invité de commande:

    #include <stdlib.h>
    #include <string.h>
    #include <iostream>
    
    using namespace std;
    
    void compression()
    {
    	cout << "Test" << endl;
    }

    Voici les lignes de code qui permettent d'appeler le programme précédent:

    thread compressionThread(compression);
    compressionThread.detach();

    Cependant, lorsque je démarre le programme, j'obtiens ceci:

    Test
    terminate called after throwing an instance of 'std::system_error'
      what():  Unknown error -140053808
    Aborted (core dumped)

    Pouvez-Vous m'aider sur ce problème? 

    • Partager sur Facebook
    • Partager sur Twitter
      20 mars 2019 à 11:29:05

      C'est crade de détacher un thread.

      Mais à vu de nez je dirais que ton thread finit par lever une exception. Utilise le debugger et tu finiras par trouver où.

      • Partager sur Facebook
      • Partager sur Twitter
      l'azerty est aux dispositions ce que subversion est aux SCM

      Erreur lors de l'execution de la fonction thread

      × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
      • Editeur
      • Markdown