GTK_小部件_队列_绘图中Windows 7下的GTK内存泄漏

GTK_小部件_队列_绘图中Windows 7下的GTK内存泄漏,windows,gcc,memory-leaks,gtk,mingw,Windows,Gcc,Memory Leaks,Gtk,Mingw,以下GTK计划: #include <gtk/gtk.h> GtkVBox *vbox; GtkWindow *win; gboolean Timer (gpointer user_data) { gtk_widget_queue_draw (GTK_WIDGET (vbox)); return 1; } int main(int argc, char **argv) { gtk_init(&argc, &argv); win = (GtkWi

以下GTK计划:

#include <gtk/gtk.h>
GtkVBox *vbox;
GtkWindow *win;
gboolean Timer (gpointer user_data)
{
   gtk_widget_queue_draw (GTK_WIDGET (vbox));
   return 1;
}
int main(int argc, char **argv)
{
   gtk_init(&argc, &argv);
   win = (GtkWindow*)gtk_window_new(GTK_WINDOW_TOPLEVEL);
   vbox = (GtkVBox*)gtk_vbox_new(TRUE, 1);
   gtk_container_add(GTK_CONTAINER(win), GTK_WIDGET(vbox));
   g_timeout_add (200, Timer, 0);
   gtk_widget_show_all(GTK_WIDGET(win));
   gtk_main();
   return 0;
}

有什么想法吗?GTK、gcc、MinGW这是什么?缺少某些编译器/链接器选项?

Windows 7 64位,使用
32位MinGW
GTK+

我有一个类似的例子,没有
gtk_widget_queue_draw(gtk_widget(vbox))调用
定时器
函数

我的印象是,是
g\u timeout\u add()
导致了内存泄漏(如windows任务管理器的“进程”选项卡上所报告的) PTL.

这是GTK。GTK 2.24.14中修复了大部分泄漏


跟踪软件包(二进制文件、捆绑包)的更新。

您是否尝试使用内存泄漏检查程序运行,以查看泄漏的内存分配在哪里?我在Win XP和Win 7(均为32位)下进行了测试我可以确认没有泄漏。似乎这一个:是相同的问题。我有相同的问题,这确实似乎是与泄漏有关的错误。从那时起,最大的泄漏已经修复。这个补丁从GTK 2.24.14.True开始提供,但在我写这篇文章时,还没有适用于Windows的GTK+2.24.14包。因此,您要么自己从源代码处编译,要么降级到2.24.0作为临时解决方案(大泄漏是在2.24.8中引入的)。
set GTK=c:/temp/GTK
gcc -c -mms-bitfields -I%gtk%/lib/gtk-2.0/include -I%gtk%/lib/gdk-2.0/include -I%gtk%/lib/glib-2.0/include -I%gtk%/include -I%gtk%/include/atk-1.0 -I%gtk%/include/gdk-pixbuf-2.0 -I%gtk%/include/cairo -I%gtk%/include/pango-1.0 -I%gtk%/include/gio-win32-2.0 -I%gtk%/include/glib-2.0 -I%gtk%/include/gtk-2.0 test.c
gcc test.o --mwindows -Wl,-luuid -L%gtk%/lib -lgtk-win32-2.0 -lgdk-win32-2.0 -lgobject-2.0 -lglib-2.0 -o test.exe