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

OpenGL Discussion :

Fuite mémoire dans un prgramme de débutant ;)


Sujet :

OpenGL

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Mars 2009
    Messages
    8
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2009
    Messages : 8
    Par défaut Fuite mémoire dans un prgramme de débutant ;)
    Bonjour,

    j'ai remarqué une fuite mémoire dans la boucle principale de mon programme, mais je ne la voit pas ^^ (dans le code
    je pense qu'elle se situe sur une instruction openGL.

    Si quelqu'un la comprend je suis preneur

    Merci d'avance !


    Le Makefile qui passe pas en PJ :

    LDFLAGS := `sdl-config --libs` -lGL -lGLU
    CFLAGS := `sdl-config --cflags`
    EXEC := Cercle

    OBJ_FILES := main.o

    $(EXEC): $(OBJ_FILES)
    $(CC) $(LDFLAGS) -o $(EXEC) $(OBJ_FILES)
    Fichiers attachés Fichiers attachés
    • Type de fichier : c main.c (4,0 Ko, 87 affichages)

  2. #2
    Expert confirmé
    Avatar de Mat.M
    Profil pro
    Développeur informatique
    Inscrit en
    Novembre 2006
    Messages
    8 540
    Détails du profil
    Informations personnelles :
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Novembre 2006
    Messages : 8 540
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    Cell *initCell (float rayon)
    {
    	Cell *p;
     
    	p = malloc (sizeof (Cell));
    //....	
    	return p;
    }
    C'est normal qu'il n'y ait pas de free(p) correspondant ?

  3. #3
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Mars 2009
    Messages
    8
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2009
    Messages : 8
    Par défaut
    ce bout de code n'est pas appellé dans la boucle de fonctionnement
    la mémoire est libéré à l'arrêt du programme pas tres propre mais le probleme n'est pas la

  4. #4
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Mars 2009
    Messages
    8
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2009
    Messages : 8
    Par défaut
    j'ai la fuite mémoire avec juste ce code la
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    	do {
     
    		glClear (GL_COLOR_BUFFER_BIT);
     
    		SDL_GL_SwapBuffers ();
    		usleep (100000);
    	} while ( --cycle);

  5. #5
    Expert confirmé
    Avatar de Mat.M
    Profil pro
    Développeur informatique
    Inscrit en
    Novembre 2006
    Messages
    8 540
    Détails du profil
    Informations personnelles :
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Novembre 2006
    Messages : 8 540
    Par défaut
    Citation Envoyé par wysman Voir le message
    j'ai la fuite mémoire avec juste ce code la
    je doute que cela du à Open GL sinon c'est parce que tu as ce qu'on appelle des "effets de bord"
    Dans ce code là
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    void renderCell (Cell *p)
    {
    	glLoadIdentity ();
    	glTranslatef (p->pos_x, p->pos_y, 0.0f);
    	glColor4fv (p->color);
    	glCallList (p->anim + (p->frame_index % CERCLE_NB_FRAME));
    	p->frame_index ++;
    }
    Est-tu sur que p->frame_index ne dépasse pas les limites ?
    Et fais comme même des delete cela donnera un code plus intégre

  6. #6
    Membre chevronné
    Profil pro
    Inscrit en
    Mai 2005
    Messages
    399
    Détails du profil
    Informations personnelles :
    Âge : 43
    Localisation : France

    Informations forums :
    Inscription : Mai 2005
    Messages : 399
    Par défaut
    Citation Envoyé par wysman Voir le message
    j'ai la fuite mémoire avec juste ce code la
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    	do {
     
    		glClear (GL_COLOR_BUFFER_BIT);
     
    		SDL_GL_SwapBuffers ();
    		usleep (100000);
    	} while ( --cycle);
    Salut,

    peut on savoir a quoi affirmes tu que tu as une fuite mémoire ?

    sinon rien a voir mais usleep ? c est portable ca ? Il est peut etre preferable d utiliser SDL_Delay qui l'est.
    SPARK
    Moteur de particule C++ opensource avec modules de rendu OpenGL, Irrlicht et SFML

  7. #7
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Mars 2009
    Messages
    8
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2009
    Messages : 8
    Par défaut
    Avec le moniteur système. Le programme prend 200Ko de ram en plus toutes les secondes.

    usleep pas vraiment portable, mais c'est un petit programme de test uniquement

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

Discussions similaires

  1. [OCI] Fuite mémoire dans libclntsh
    Par Adil BE dans le forum Interfaces de programmation
    Réponses: 8
    Dernier message: 08/09/2009, 14h52
  2. Fuite mémoire dans une appli dev avec vc++6
    Par devconf77 dans le forum Windows
    Réponses: 1
    Dernier message: 26/08/2008, 08h58
  3. fuite mémoire dans le JSP editor
    Par ChristopheH dans le forum Eclipse Java
    Réponses: 0
    Dernier message: 18/04/2008, 17h20
  4. fuite mémoire dans un processus
    Par ryadh.naouar dans le forum POSIX
    Réponses: 4
    Dernier message: 09/05/2007, 11h53
  5. Réponses: 19
    Dernier message: 04/10/2006, 16h53

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