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 :

Erreur : glibc detected


Sujet :

C

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé Avatar de L8O8L
    Profil pro
    Inscrit en
    Janvier 2007
    Messages
    148
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2007
    Messages : 148
    Par défaut Erreur : glibc detected
    Salut à tous,

    J'ai une erreur *** glibc detected *** ./monExecutable: double free or corruption (!prev): 0x08059110 *** quand je lance monExecutable

    Je peux pas vraiment vous en dire plus sauf que ca doit se passer dans a cause de ma fonction
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    void creerTousObjets(Liste listeObjet){
    	while(!(listeVide(listeObjet))){
    		printf("tutu\n");
    		supprimerEnTete(listeObjet);
    	}
    }
    Pour vous aider
    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
     
    // La fonction que j'utilise
    Liste supprimerEnTete(Liste l){
     
    	Liste tmp = l;
     
    	l = l -> succ;
     
    	free (tmp);
     
    	return ( l );
     
    }
     
    // La structure Objet
    typedef struct Objet{
     
    	Arbor a;
    	SpurGear s;
    	BevelGear b;
     
    	struct Objet *succ;
     
    }Objet;
     
     
     
    // Le type Liste
    typedef Objet *Liste;
    MERCI D'AVANCE

  2. #2
    Membre confirmé Avatar de L8O8L
    Profil pro
    Inscrit en
    Janvier 2007
    Messages
    148
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2007
    Messages : 148
    Par défaut
    Si ca peut vous aider, quand je fais :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    void creerTousObjets(Liste listeObjet){
            afficherListe(listeObjet);
    	supprimerEnTete(listeObjet);
    	afficherListe(listeObjet);
    }
    Voila ce que ca me met :

    LISTE :
    ARBOR n° : 0 -> (null) SPURGEAR n° : 0 -> "TTUTUUTU" BEVELGEAR n° : 0 -> (null)
    ARBOR n° : 0 -> (null) SPURGEAR n° : 1 -> spurGear1 BEVELGEAR n° : 0 -> (null)
    ARBOR n° : 0 -> (null) SPURGEAR n° : 2 -> spurGear2 BEVELGEAR n° : 0 -> (null)
    ARBOR n° : 0 -> (null) SPURGEAR n° : 3 -> spurGear3 BEVELGEAR n° : 0 -> (null)

    LISTE :
    ARBOR n° : -1208450704 -> ˜ SPURGEAR n° : 0 -> "TTUTUUTU" BEVELGEAR n° : 0 -> (null)
    ARBOR n° : 0 -> (null) SPURGEAR n° : 1 -> spurGear1 BEVELGEAR n° : 0 -> (null)
    ARBOR n° : 0 -> (null) SPURGEAR n° : 2 -> spurGear2 BEVELGEAR n° : 0 -> (null)
    ARBOR n° : 0 -> (null) SPURGEAR n° : 3 -> spurGear3 BEVELGEAR n° : 0 -> (null)

    les (null) c'est normal le seul probleme, c'est bien la premiere ligne de la 2em liste.... :/

  3. #3
    gl
    gl est déconnecté
    Rédacteur

    Homme Profil pro
    Inscrit en
    Juin 2002
    Messages
    2 165
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : France, Isère (Rhône Alpes)

    Informations forums :
    Inscription : Juin 2002
    Messages : 2 165
    Par défaut
    A priori, c'est plutôt

    listeObjet = supprimerEnTete(listeObjet);

    Pour rappel, en C les paramètres sont passer par valeur, la modification de listeObjet dans la fonction ne modifie par listeObjet en dehors de celle-ci.
    Lors de la deuxième suppression, c'est donc bien l'élément déjà supprimé que tu tentes de supprimer a nouveau.

  4. #4
    Membre confirmé Avatar de L8O8L
    Profil pro
    Inscrit en
    Janvier 2007
    Messages
    148
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2007
    Messages : 148
    Par défaut

    Ouhaaa j'avais oublié le return

    Je testerais ca mais normalement ca doit etre bon! Merci

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

Discussions similaires

  1. erreur : glibc detected
    Par MounaR dans le forum C++
    Réponses: 1
    Dernier message: 28/04/2011, 18h36
  2. Réponses: 6
    Dernier message: 06/05/2010, 23h57
  3. Réponses: 6
    Dernier message: 20/03/2009, 10h05
  4. erreur : "glibc detected" à l'exécution
    Par jane40 dans le forum Débuter
    Réponses: 11
    Dernier message: 23/01/2009, 18h10
  5. erreur glibc detected double free or corruption.
    Par Screwt-K dans le forum C++
    Réponses: 1
    Dernier message: 02/07/2007, 16h46

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