GLib: различия между версиями

Материал из Википедии — свободной энциклопедии
Перейти к навигации Перейти к поиску
[отпатрулированная версия][непроверенная версия]
Содержимое удалено Содержимое добавлено
м викификация
м Обновление номеров версий
Строка 2: Строка 2:
| developer =[[Проект GNOME]]
| developer =[[Проект GNOME]]
| operating_system = [[Кроссплатформенное программное обеспечение|кроссплатформенная]]
| operating_system = [[Кроссплатформенное программное обеспечение|кроссплатформенная]]
| latest_release_version = 2.46.2
| latest_release_version = 2.50.3
| latest_preview_version = 2.47.4
| latest_preview_version = 2.52.0
}}
}}
'''GLib''' — низкоуровневая [[библиотека (программирование)|библиотека]], расширяющая возможности, предоставляемые стандартной библиотекой [[libc]] языка C.
'''GLib''' — низкоуровневая [[библиотека (программирование)|библиотека]], расширяющая возможности, предоставляемые стандартной библиотекой [[libc]] языка C.

Версия от 22:24, 6 апреля 2017

GLib
Тип библиотека функций
Разработчик Проект GNOME
Написана на Си[1]
Операционная система кроссплатформенная
Последняя версия 2.50.3
Тестовая версия 2.52.0
Репозиторий gitlab.gnome.org/GNOME/g…
Лицензия LGPLv2.1+[вд][2]
Сайт gitlab.gnome.org/… (англ.)

GLib — низкоуровневая библиотека, расширяющая возможности, предоставляемые стандартной библиотекой libc языка C.

Разрабатываемая в рамках и лежащая в основах проектов GTK+ и GNOME, GLib широко используется в приложениях, в том числе и неграфических. Выпуск очередной версии библиотеки по времени обычно совпадает с выпуском новой версии GTK+.

GLib предоставляет основную объектную систему, используемую в GNOME, реализацию основного цикла, а также обширный набор вспомогательных функций для строк и типовых структур данных[3].

На данный момент GLib способна работать на многих UNIX-подобных операционных системах, а также MS Windows, OS/2 и BeOS.

Возможности

GLib предоставляет следующие возможности:

  • большой набор базовых и производных типов данных;
  • макросы и развитый механизм отладочных сообщений;
  • строковые функции;
  • функции для преобразования кодировок и поддержки юникода;
  • встроенные макросы gettext для интернационализации;
  • средства для работы с динамической памятью;
  • средства для динамической загрузки модулей;
  • атомарные операции;
  • программные потоки и средства их синхронизации;
  • порождение новых процессов;
  • таймеры, функции для работы с датой и временем;
  • генератор псевдо-случайных чисел;
  • универсальный лексический сканер;
  • синтаксический анализатор параметров командной строки;
  • синтаксический анализатор подмножества данных типа XML;
  • синтаксический анализатор .ini-подобных конфигурационных файлов;
  • средства ввода-вывода;
  • функции перехвата;
  • Shell-related Utilities;
  • синтаксический анализатор файлов, содержащих закладки;
  • средства работы с регулярными выражениями типа Glob.

Типы данных

Базовые типы данных GLib предназначены для удобства программиста и переносимости приложения. Они делятся на следующие группы:

  1. Целые типы с фиксированным размером — gint8, guint8, gint16, guint16, gint32, guint32, gint64, guint64. Размер переменной любого из этих типов одинаков для каждой используемой аппаратной платформы. Для gint8, например, он всегда равен 8 бит.
  2. Псевдонимы стандартных типов языка C — gpointer (аналог void *), gconstpointer, guchar (аналог unsigned char), guint, gushort, gulong, gchar (аналог char), gint, gshort, glong, gfloat и gdouble.
  3. Тип gboolean со значениями TRUE и FALSE, типы gsize и gssize для представления размеров структур данных.
  4. Тип GString, который похож на стандартные С строки, за исключением того, что они автоматически расширяются, когда текст добавляется или вставляется. Также, он хранит длину строки, так что может быть использован для двоичных данных с нулевыми байтами.

Примечания

Ссылки