4

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

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

  1. GLib 数据类型;
  2. GLib 实用程序。

常识告诉我应该没有什么需要 GMainLoop (除了 Timers,可能是?),但我是一个完整的 GLib 新手,不知何故在需要 GMainLoop 时在文档中没有找到任何明确的声明,什么时候不需要.

从“GLib 核心应用程序支持”部分我想使用消息记录,但不确定它与主循环的交互。

对于那些想知道为什么的人,我使用 FUSE/osxfuse,它已经有它的主循环,我不确定解构它并集成到 GMainLoop 中是否容易。

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

4

1 回答 1

2

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

确实需要主循环的代码将引用它,例如IO Channels。即使这样,您也可以看到可以使用带或不带主循环的 IO 通道,这是您的选择。

于 2013-07-01T09:48:40.823 回答