Вопрос

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

я рассматриваю GLib и АПРЕЛЬ.Каков ваш практический опыт?Какая базовая библиотека C лучше?Есть ли другие библиотеки, занимающие ту же нишу?

Это было полезно?

Решение

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

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

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

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

Другие советы

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

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

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

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top