2008年5月7日星期三

Boehm-GC 与 Glib 的集成

要迫使 Glib 也使用 Boehm-GC 貌似很简单,在你的 main() 函数的开头加入如下一段代码即可:

GMemVTable mem;

setenv("G_SLICE", "always-malloc", 1);
GC_INIT();
memset(&mem, 0, sizeof(GMemVTable));
mem.malloc = GC_MALLOC;
mem.realloc = GC_REALLOC;
mem.free = GC_FREE;
g_mem_set_vtable(&mem);

具体什么意思就去查文档吧,懒得敲了。

不过这样貌似不能处理 GObject 的 ref 和 unref ?还是要手动的吧。

就这样。

没有评论: