Использование glib без вызова g_main_loop_run?
Правильно ли использовать (части) GLib без вызова g_main_loop_run? Если да, то как определить, какие части GLib я могу использовать следующим образом?
Я в основном заинтересован (как указано https://developer.gnome.org/glib/2.34/index.html):
- Типы данных GLib;
- GLib Утилиты.
Здравый смысл подсказывает мне, что там не должно быть ничего, чтобы требовать GMainLoop (кроме таймеров, может быть?), Но я полный новичок в GLib, и почему-то не нашел какого-либо явного утверждения в документах, когда требуется GMainLoop, а когда нет.,
В разделе "Поддержка основных приложений GLib" я хотел бы использовать ведение журнала сообщений, но не уверен в его взаимодействии с основным циклом.
Для тех, кто интересуется, почему, я использую FUSE/osxfuse, у которого уже есть основной цикл, и я не уверен, насколько легко его деконструировать и интегрировать в GMainLoop.
Кроме того, я приветствую альтернативные предложения библиотеки C. Просматривая документы GLib, мне это нравится, но я чувствую себя неловко из-за того, что пытаюсь стать основой, а не набором библиотек.
1 ответ
Очень мало кода GLib требует основного цикла, например, таймеры реализованы с использованием обычной системной метки времени.
Код, который требует основного цикла, будет ссылаться на него, например, на каналы ввода-вывода. Даже тогда вы можете видеть, что можно использовать каналы ввода-вывода с главным циклом или без него, это ваш выбор.