g_idle_add 使用示例
时间: 2023-08-06 22:01:59 浏览: 338
g_idle_add 是 GLib 库中的一个函数,用于在主循环中添加一个空闲回调函数。当主循环没有其他事件处理时,空闲回调函数会被调用。下面是一个使用 g_idle_add 的示例:
```c
#include <stdio.h>
#include <glib.h>
gboolean idle_callback(gpointer user_data) {
printf("Idle callback called\n");
return G_SOURCE_CONTINUE;
}
int main(int argc, char** argv) {
GMainLoop* loop = g_main_loop_new(NULL, FALSE);
guint id = g_idle_add(idle_callback, NULL);
printf("Idle callback id: %d\n", id);
g_main_loop_run(loop);
return 0;
}
```
在这个示例中,我们创建了一个空闲回调函数 idle_callback,它会在被调用时输出一条消息。然后我们使用 g_idle_add 将这个回调函数添加到主循环中。g_idle_add 函数返回一个整数,表示这个回调函数的 ID。最后我们启动主循环并等待回调函数被调用。
注意:在使用 g_idle_add 函数时,必须确保 GLib 的主循环已经启动。在本示例中,我们使用 g_main_loop_new 函数创建了一个新的主循环,并在 g_main_loop_run 函数中启动它。
阅读全文