glib学习-- timer使用

来源:互联网 发布:js获取json的key 编辑:程序博客网 时间:2024/06/05 14:39

如果之让定时器执行一次,回调函数返回false,如果返回true,会定时执行。

#include <stdio.h>#include <unistd.h>#include <signal.h>#include <glib.h>#define true 1#define false 0int id = 0;gboolean service_send_change(gpointer data){id = 0;printf("signal aaaaaaaaaaaaa%d\n", id);return true;}gboolean service_send_changed(gpointer data){id = 0;printf("signal iiiiiiiiiiiis %d\n", id);return true;}int main(int argc, char* argv[]){GMainLoop* loop;if(g_thread_supported() == 0)g_thread_init(NULL);g_print("g_main_loop_new\n");loop = g_main_loop_new(NULL, FALSE);//Ôö¼ÓÒ»¸ö¶¨Ê±Æ÷£¬100ºÁÃëÔËÐÐÒ»´Îcallbackid = g_timeout_add(500,service_send_changed,NULL);g_timeout_add(100, service_send_change,NULL);g_print("g_main_loop_run\n");g_main_loop_run(loop);g_print("g_main_loop_unref\n");g_main_loop_unref(loop);return 0;}
编译:

Makefile:

</pre><pre name="code" class="cpp">CC=gcc.PHONY:allall:test timer watch1test:$(CC) test.c  -pthread -I/usr/local/include/glib-2.0 -I/usr/local/lib/glib-2.0/include  -pthread  -lgthread-2.0 -lglib-2.0  -o testtimer:$(CC) timer.c  -pthread -I/usr/local/include/glib-2.0 -I/usr/local/lib/glib-2.0/include  -pthread  -lgthread-2.0 -lglib-2.0  -o timerwatch1:$(CC) watch1.c  -pthread -I/usr/local/include/glib-2.0 -I/usr/local/lib/glib-2.0/include  -pthread  -lgthread-2.0 -lglib-2.0  -o watch1clean:rm test timer watch1



0 0
原创粉丝点击