GLib — низкоуровневая библиотека, расширяющая возможности, предоставляемые стандартной библиотекой libc языка C.
Разрабатываемая в рамках и лежащая в основах проектов GTK и GNOME, GLib широко используется в приложениях, в том числе и неграфических. Выпуск очередной версии библиотеки по времени обычно совпадает с выпуском новой версии GTK.
GLib предоставляет основную объектную систему, используемую в GNOME, реализацию основного цикла, а также обширный набор вспомогательных функций для строк и типовых структур данных.
На данный момент 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, который похож на стандартные С строки, за исключением того, что они автоматически расширяются, когда текст добавляется или вставляется. Также, он хранит длину строки, так что может быть использован для двоичных данных с нулевыми байтами.
Примечания
Ссылки
Категория:Библиотеки Си Категория:Свободные библиотеки программ Категория:GNOME Категория:GTK+