首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 其他教程 > 开源软件 >

GLib 创办自定义事件源

2012-07-15 
GLib 创建自定义事件源?#include glib.h gboolean source_prepare_cb(GSource * source,gint * timeout)

GLib 创建自定义事件源

?

#include <glib.h> gboolean source_prepare_cb(GSource * source,gint * timeout){g_printf("prepare\n");*timeout = 1000;return FALSE;} gboolean source_check_cb(GSource * source){g_printf("check\n");return TRUE;} gboolean source_dispatch_cb(GSource * source,GSourceFunc callback, gpointer data){g_printf("dispatch\n");return TRUE;} void source_finalize_cb(GSource * source){g_printf("finalize\n");} int main(int argc, char * argv[]){GMainLoop * mainloop;GMainContext * maincontext;GSource * source;GSourceFuncs sourcefuncs; sourcefuncs.prepare = source_prepare_cb;sourcefuncs.check = source_check_cb;sourcefuncs.dispatch = source_dispatch_cb;sourcefuncs.finalize = source_finalize_cb; mainloop = g_main_loop_new(NULL, FALSE);maincontext = g_main_loop_get_context(mainloop);source = g_source_new(&sourcefuncs, sizeof(GSource));g_source_attach(source, maincontext); g_main_loop_run(mainloop); return 0;}?

热点排行