Bonjour à tous!
J'espère que vous allez pouvoir m'aider : Je m'explique.
J'utilise la Glib pour la manipulation de chaine de caractères.
voici le code tout bete :
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 #include <stdio.h> #include <stdlib.h> #include <signal.h> #include <string.h> #include <unistd.h> #include <glib.h> int main(int argc, char *argv[]) { printf("glib version : %d.%d.%d\n", GLIB_MAJOR_VERSION, GLIB_MINOR_VERSION, GLIB_MICRO_VERSION); GString *para1; para1 = g_string_new("papa"); printf("\npara1->str : %s\n", para1->str); g_string_free(para1, TRUE); return 0; }
Le probleme est que si je lance valgrind -v ./test
il me dit que :
Comment vraiment tout liberer?malloc/free: 9 allocs, 1 frees, 4,564 bytes allocated.
Merci pour votre aide.
Le truc c'est que dans un programme un peu plus long, j'utilise pas mal de G_string et mon prog aléatoirement fait un SIGSEGV. le fichier core généré est peu explicite mais il y aurait bien un souci de fuite de memoire, d'ou mon interrogation sur ces bytes non desalloués. (la version GLib est la dernière)
MERCI![]()
Partager