GLib
GLib — низкоуровневая библиотека, расширяющая возможности, предоставляемые стандартной библиотекой libc языка C.
GLib | |
---|---|
Тип | библиотека функций |
Разработчик | Проект GNOME |
Написана на | Си[2] |
Операционная система | кроссплатформенная |
Последняя версия | 2.72.3[1] (30 июня 2022; 7 месяцев назад (2022-06-30)) |
Читаемые форматы файлов | .ini |
Создаваемые форматы файлов | .ini |
Лицензия | LGPLv2.1+[d][3] |
Сайт | wiki.gnome.org/Pr… (англ.) |
Разрабатываемая в рамках и лежащая в основах проектов GTK и GNOME, GLib широко используется в приложениях, в том числе и неграфических. Выпуск очередной версии библиотеки по времени обычно совпадает с выпуском новой версии GTK.
GLib предоставляет основную объектную систему, используемую в GNOME, реализацию основного цикла, а также обширный набор вспомогательных функций для строк и типовых структур данных[4].
На данный момент GLib способна работать на многих UNIX-подобных операционных системах, а также MS Windows, OS/2 и BeOS.
ВозможностиПравить
GLib предоставляет следующие возможности:
- большой набор базовых и производных типов данных;
- макросы и развитый механизм отладочных сообщений;
- строковые функции;
- функции для преобразования кодировок и поддержки юникода;
- встроенные макросы gettext для интернационализации;
- средства для работы с динамической памятью;
- средства для динамической загрузки модулей;
- атомарные операции;
- программные потоки и средства их синхронизации;
- порождение новых процессов;
- таймеры, функции для работы с датой и временем;
- генератор псевдо-случайных чисел;
- универсальный лексический сканер;
- синтаксический анализатор параметров командной строки;
- синтаксический анализатор подмножества данных типа XML;
- синтаксический анализатор .ini-подобных конфигурационных файлов;
- средства ввода-вывода;
- функции перехвата;
- Shell-related Utilities;
- синтаксический анализатор файлов, содержащих закладки;
- средства работы с регулярными выражениями типа Glob.
GLib реализует функции, которые обеспечивают потоки, программирование потоков и связанные с ними средства, такие как примитивный доступ к переменным, мьютексы, асинхронные очереди, защищенные пулы памяти, передача и регистрация сообщений, функции ловушек (регистрация обратного вызова) и таймеры. GLib также включает средства передачи сообщений, такие как преобразование порядка байтов и каналы ввода-вывода.
Типы данныхПравить
Базовые типы данных GLib предназначены для удобства программиста и переносимости приложения. Они делятся на следующие группы:
- Целые типы с фиксированным размером — gint8, guint8, gint16, guint16, gint32, guint32, gint64, guint64. Размер переменной любого из этих типов одинаков для каждой используемой аппаратной платформы. Для gint8, например, он всегда равен 8 бит.
- Псевдонимы стандартных типов языка C — gpointer (аналог void *), gconstpointer, guchar (аналог unsigned char), guint, gushort, gulong, gchar (аналог char), gint, gshort, glong, gfloat и gdouble.
- Тип gboolean со значениями TRUE и FALSE, типы gsize и gssize для представления размеров структур данных.
- Тип GString, который похож на стандартные С строки, за исключением того, что они автоматически расширяются, когда текст добавляется или вставляется. Также, он хранит длину строки, так что может быть использован для двоичных данных с нулевыми байтами.
ПримечанияПравить
- ↑ Overview of changes in GLib 2.72.3 (неопр.). Дата обращения: 17 июля 2022. Архивировано 17 июля 2022 года.
- ↑ The glib Open Source Project on Open Hub: Languages Page — 2006.
- ↑ Free Software Directory
- ↑ GLib Reference Manual — GNOME Library (неопр.). Дата обращения: 13 октября 2008. Архивировано 10 мая 2010 года.
СсылкиПравить
- Glib Reference Manual (англ.) (недоступная ссылка — история). — Руководство пользователя GLib. Дата обращения: 29 сентября 2011. Архивировано 4 февраля 2012 года.
- Справочное описание GLib (уже недоступно) (рус.) (недоступная ссылка — история). — Русский перевод API GLib версии 2.13.0. Дата обращения: 24 марта 2014. Архивировано 24 августа 2011 года.
- Справочное описание GLib (рус.). — Русский перевод API GLib версии 2.13.0. Дата обращения: 24 марта 2014.
- Справочное описание GObject (рус.). — Русский перевод API GObject (версия GLib 2.13.7). Дата обращения: 13 октября 2008.
Это статья-заготовка о программном обеспечении. Вы можете помочь проекту, дополнив эту статью, как и любую другую в Википедии. Нажмите и узнайте подробности. |
Это статья-заготовка о программном обеспечении. Вы можете помочь проекту, дополнив эту статью, как и любую другую в Википедии. Нажмите и узнайте подробности. |