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

GTK+ avec C & C++ Discussion :

GList et libération de mémoire


Sujet :

GTK+ avec C & C++

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé Avatar de corwin
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2002
    Messages
    85
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 49
    Localisation : France, Isère (Rhône Alpes)

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

    Informations forums :
    Inscription : Avril 2002
    Messages : 85
    Par défaut GList et libération de mémoire
    A votre avis pour détruire une GList quel code utiliser :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    GList * lst;
    ...
    g_list_foreach(lst, (GFunc)g_free, NULL);
    g_list_free(lst);
    ou alors seulement :
    je pensais que le dernier suffisait mais en observant des sources j ai vu le premier. Je rajoute que le type d objet stocker sont des gchar *

    merci pour vos avis

  2. #2
    Invité
    Invité(e)
    Par défaut
    Je crois que g_list_free ne fait que libérer la mémoire allouée à la liste chaînée (et pas celle allouée aux données), qu'elle ne suffit donc pas, et que la première solution est préférable

  3. #3
    Rédacteur

    Avatar de gege2061
    Femme Profil pro
    Administrateur de base de données
    Inscrit en
    Juin 2004
    Messages
    5 840
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 41
    Localisation : France

    Informations professionnelles :
    Activité : Administrateur de base de données

    Informations forums :
    Inscription : Juin 2004
    Messages : 5 840
    Par défaut
    Bonjour,

    Citation Envoyé par corwin
    A votre avis pour détruire une GList quel code utiliser :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    GList * lst;
    ...
    g_list_foreach(lst, (GFunc)g_free, NULL);
    g_list_free(lst);
    ou alors seulement :
    je pensais que le dernier suffisait mais en observant des sources j ai vu le premier. Je rajoute que le type d objet stocker sont des gchar *

    merci pour vos avis
    Pour détruire la liste en elle même, g_list_free suffit, par contre si tu as stocké un pointeur vers une zone allouée dynamiquement dans les éléments de la liste, c'est à toi de les libérer (donc un g_list_foreach peut t'aider à le faire).

    J'espère avoir été clair

  4. #4
    Membre confirmé Avatar de corwin
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2002
    Messages
    85
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 49
    Localisation : France, Isère (Rhône Alpes)

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

    Informations forums :
    Inscription : Avril 2002
    Messages : 85
    Par défaut
    bien

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

Discussions similaires

  1. Réponses: 7
    Dernier message: 27/05/2006, 13h30
  2. Problème libération de mémoire?
    Par Bartuk dans le forum C
    Réponses: 7
    Dernier message: 28/12/2005, 17h20
  3. Libération de mémoire
    Par petitcoucou31 dans le forum Langage
    Réponses: 1
    Dernier message: 16/09/2005, 14h10
  4. [Debutant(e)]problème de libération de mémoire
    Par skywalker3 dans le forum Eclipse Java
    Réponses: 1
    Dernier message: 10/02/2005, 17h38
  5. Réponses: 25
    Dernier message: 16/07/2003, 20h41

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