2008-11-17 8 views
19

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

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

ответ

12

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

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

Так что мои предложения является

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

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

+1

К слову, теперь glib включает gio, который является портативным вводом-выводом с потоковой архитектурой. Я бы не подумал, что apr больше, чем glib. – lethalman 2011-08-03 20:57:03

+2

Итак, как же сегодня? Что больше? И этот ответ по-прежнему действителен? – einpoklum 2013-12-21 21:06:17

1

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

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

 Смежные вопросы

  • Нет связанных вопросов^_^