Подтвердить что ты не робот

GLib v APR за и против каждого

У меня есть несколько проектов программирования на хобби C, которые я хотел бы начать. Я ищу библиотеку с открытым исходным кодом, имеющую либеральную лицензию (я хочу получить кредит, но почти все могут использовать). Библиотека должна иметь строки лучше, чем стандартная библиотека C и некоторые переносные примитивы для потоков.

Я рассматриваю GLib и APR. Каков ваш практический опыт? Что является лучшей основополагающей библиотекой C? Существуют ли другие библиотеки, заполняющие одну и ту же нишу?

4b9b3361

Ответ 1

Я думаю, что glib обычно превосходит apr. glib имеет гораздо больше данных, чем портативные библиотеки. например, хэш-таблицы, все виды списков, очереди, стеки, динамический массив, а также для разбора аргументов, файл io также имеет собственные оболочки и управление памятью легко модифицируется. Например, вы можете легко сделать glib, используя Boehm Weisser GC, это AFAIKT никогда не было сделано или просто невозможно с Apache. Я бы решил немного по-другому. Если вам нужна более полезная библиотека структур данных, лучше всего использовать glib. Если дело доходит до GUI, чем у libapr нет ничего, тогда как glib имеет gdk/gtk + и много материала для гнома, если хотите.

Однако, если дело доходит до сетевого материала, libapr определенно имеет преимущество над glib.

Итак, мои предложения

  • Настольное программирование. Используйте GTK + и glib.
  • Сетевой материал. Используйте apr, но будьте уверены, что у glib есть все эти переносные вещи.

Ответ 2

Я бы пошел с APR. APR лучше переносит Unix/Windows (будучи выделенной библиотекой переносимости), GLib традиционно более ориентирован на Unix. APR представляет собой большую библиотеку, чем GLib, в ней много полезных материалов (хеш-таблицы, разбор аргументов, файлы ввода-вывода файлов, управление памятью, процедуры общей памяти, обработка сигналов и т.д.).

Ответ 3

Есть ли причина, по которой вы не захотите использовать С++ stl? Даже если вы пишете код "c-style" без классов, вы можете использовать строки С++ и структуру данных.

Конечно, существует множество веских причин придерживаться C. Если это произойдет, я бы предпочел бы рекомендацию для glib. APR - это больше уровень переносимости, чем утилитная библиотека.