使用glib而不调用g_main_loop_run?

时间:2013-06-28 00:25:45

标签: c glib

在不调用g_main_loop_run的情况下使用(部分)GLib是否正确?如果是这样,如何识别我可以使用的GLib部分?

我最感兴趣的是(如https://developer.gnome.org/glib/2.34/index.html所述):

  1. GLib数据类型;
  2. GLib Utilities。
  3. 常识告诉我,应该没有任何东西可以要求GMainLoop(除了定时器,可能是?),但我是一个完整的GLib新手,并且当需要GMainLoop时,某种程度上没有在文档中找到任何明确的陈述什么时候没有。

    从“GLib Core Application Support”部分我想使用Message Logging,但不确定它与主循环的交互。

    对于那些想知道原因的人,我使用FUSE / osxfuse,它已经有了它的主循环,而且我不确定解构它并集成到GMainLoop是多么容易。

    另外,我欢迎替代C库建议。通过GLIB文档我很喜欢它,但我对它试图成为一个框架而不是一组库感到不安。

1 个答案:

答案 0 :(得分:2)

很少有GLib代码需要主循环,例如定时器是使用系统的正常时间戳实现的。

需要主循环的代码将引用它,例如IO Channels。即便如此,您仍然可以看到可以在有或没有主循环的情况下使用IO通道,这是您的选择。