在不调用g_main_loop_run的情况下使用(部分)GLib是否正确?如果是这样,如何识别我可以使用的GLib部分?
我最感兴趣的是(如https://developer.gnome.org/glib/2.34/index.html所述):
常识告诉我,应该没有任何东西可以要求GMainLoop(除了定时器,可能是?),但我是一个完整的GLib新手,并且当需要GMainLoop时,某种程度上没有在文档中找到任何明确的陈述什么时候没有。
从“GLib Core Application Support”部分我想使用Message Logging,但不确定它与主循环的交互。
对于那些想知道原因的人,我使用FUSE / osxfuse,它已经有了它的主循环,而且我不确定解构它并集成到GMainLoop是多么容易。
另外,我欢迎替代C库建议。通过GLIB文档我很喜欢它,但我对它试图成为一个框架而不是一组库感到不安。
答案 0 :(得分:2)
很少有GLib代码需要主循环,例如定时器是使用系统的正常时间戳实现的。
需要主循环的代码将引用它,例如IO Channels。即便如此,您仍然可以看到可以在有或没有主循环的情况下使用IO通道,这是您的选择。