Problème de fuite mémoire en C, comment détecter et corriger ?

Python, JavaScript, C, PHP, algorithmes, IDE
sarah.s
Messages : 67
Inscription : lun. janv. 29, 2024 7:24 pm

Problème de fuite mémoire en C, comment détecter et corriger ?

Message par sarah.s »

Bonjour, j’ai un programme en C qui semble avoir une fuite mémoire. Après quelques heures, il consomme toute la RAM. Comment je peux détecter et corriger ça ?
david_du_59
Messages : 1
Inscription : ven. sept. 27, 2024 7:24 pm

Re: Problème de fuite mémoire en C, comment détecter et corriger ?

Message par david_du_59 »

Tu peux utiliser Valgrind pour détecter les fuites de mémoire. Il te dira où tu alloues de la mémoire sans la libérer ensuite.
pcmaster67
Messages : 1
Inscription : sam. juil. 08, 2023 7:24 pm

Re: Problème de fuite mémoire en C, comment détecter et corriger ?

Message par pcmaster67 »

Valgrind c’est top, mais attention, ça peut ralentir ton programme. Sinon, tu peux vérifier manuellement tous tes malloc() et free() pour t’assurer que tout est bien libéré.
kevin69
Messages : 7
Inscription : jeu. avr. 23, 2026 7:24 pm

Re: Problème de fuite mémoire en C, comment détecter et corriger ?

Message par kevin69 »

Je rajouterais que l’utilisation de fonctions comme calloc() au lieu de malloc() peut aider, car il initialise la mémoire à zéro. Mais ça ne résout pas les fuites, c’est juste une bonne pratique.
Team Linux depuis 2005, jamais revenu en arriere
sarah.s
Messages : 67
Inscription : lun. janv. 29, 2024 7:24 pm

Re: Problème de fuite mémoire en C, comment détecter et corriger ?

Message par sarah.s »

Merci pour les conseils ! Je vais tester Valgrind ce soir. Pour calloc(), je note, mais j’ai surtout besoin de trouver cette fichue fuite.
la_scriptkid
Messages : 38
Inscription : dim. mai 25, 2025 7:24 pm

Re: Problème de fuite mémoire en C, comment détecter et corriger ?

Message par la_scriptkid »

Si tu utilises Valgrind, regarde bien les messages de sortie. Les fuites sont généralement marquées comme "definitely lost". Ça te donnera une idée précise de où agir.
Répondre