Je possède ce code:Comment libérer la mémoire?
#include <gtk/gtk.h>
int main(int argc, char *argv[])
{
GtkWidget *window, *fixed, *button;
gtk_init(&argc, &argv);
window = gtk_window_new(GTK_WINDOW_TOPLEVEL);
gtk_window_set_resizable(GTK_WINDOW(window), FALSE);
gtk_widget_set_size_request(window, 400, 400);
gtk_window_set_position(GTK_WINDOW(window), GTK_WIN_POS_CENTER);
gtk_window_set_title(GTK_WINDOW(window), "Test");
gtk_widget_show(window);
g_signal_connect(G_OBJECT(window), "destroy",
G_CALLBACK(gtk_main_quit), NULL);
fixed = gtk_fixed_new();
gtk_container_add(GTK_CONTAINER(window), fixed);
gtk_widget_show(fixed);
button = gtk_button_new_with_label("click");
gtk_fixed_put(GTK_FIXED(fixed), button, 30, 30);
gtk_widget_show(button);
gtk_main();
return 0;
}
Je suis en train de libérer la mémoire, mais échouent. Peut-être quelqu'un pour modifier ce code de sorte que la mémoire à libérer? J'ai lu sur la gestion de la mémoire dans GTK et je comprends en grande partie comment cela fonctionne, mais ne parviennent pas à libérer la mémoire ...
Je comprends comment ces fonctions fonctionne gtk_widget_destroy(), g_object_ref_seek(), g_object_ref() et g_object_unref () et je ne veux pas recevoir les références à ces fonctions ou à la documentation, je souhaite modifier quelqu'un de ce code pour que la mémoire soit libérée.
Merci!
De quelle mémoire avez-vous l'intention de libérer? Il n'y a rien de particulier dans ce code que vous devriez publier. – nos
Comment pouvez-vous conclure que la mémoire n'est pas ** ** libérée? Quel problème résolvez-vous exactement? – user4815162342
Je veux libérer la mémoire occupée de la fenêtre, fixe et variable de bouton. J'ai conclu que la mémoire n'est pas libérée quand je cours le code avec valgrind. –