GLib

редактировать
Программная библиотека
GLib
Оригинальный автор (-ы) Шон Амундсон
Разработчик (-ы) Проект GNOME и др.
Первоначальный выпуск1998 г.; 22 года назад (1998 г.)
Стабильный выпуск 2.64.4 (2 июля 2020 г.; 3 месяца назад (02.07.2020))
Репозиторий Измените это в Wikidata
Написано вC
Операционной системе Linux, Unix-like, macOS, Windows
Платформа Кросс-платформенность
Тип Библиотека
Лицензия LGPLv2.1
Веб-сайтwiki.gnome.org / Projects / GLib
Упрощенная архитектура программного обеспечения GTK. Pango, GDK, ATK, GIO, Cairo и GLib.

GLib - это набор из трех (ранее пяти) низкоуровневых системных библиотек, написанных на C и разработанных в основном GNOME. Код GLib был отделен от GTK, поэтому его можно использовать в программном обеспечении, отличном от GNOME, и с тех пор он разрабатывался параллельно.

Содержание

  • 1 Возможности
    • 1.1 Компоненты
  • 2 История
    • 2.1 Релизы
  • 3 Похожие проекты
  • 4 Ссылки
  • 5 Внешние ссылки

Возможности

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

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

Некоторые другие особенности GLib включают:

  • стандартные макросы
  • предупреждения и утверждения
  • динамическая загрузка модулей

компонентов

Пакет GLib состоял из пяти библиотек, но все они были объединены в одну библиотеку, с тех пор названную просто GLib, и больше не поддерживаются как отдельные библиотеки. Исходными библиотеками были:

  • GObject, объектная система, включающая систему типов GType
  • GLib
  • GModule
  • GThread
  • GIO

Of из них три продолжают находиться в разных подкаталогах исходного дерева, и поэтому их можно рассматривать как отдельные компоненты: GLib, GObject и GIO. Их можно рассматривать как программный стек: GObject полагается на GLib, а GIO предоставляет функциональные возможности более высокого уровня, которые используют оба.

История

GLib началась как часть проекта GTK +, который теперь называется GTK. Однако перед выпуском GTK + версии 2 разработчики проекта решили отделить от GTK + код, который не предназначен для графических пользовательских интерфейсов (GUI), создав таким образом GLib как отдельный программный пакет. GLib была выпущена как отдельная библиотека, поэтому другие разработчики, не использующие части GTK +, связанные с графическим интерфейсом, могли использовать не связанные с графическим интерфейсом части библиотеки без дополнительных затрат, зависящих от полной библиотеки графического интерфейса.

Поскольку GLib является кроссплатформенной библиотекой, приложения, использующие ее для взаимодействия с операционной системой, обычно переносятся в разные операционные системы без серьезных изменений.

Релизы

Для текущего обзора см. Дорожная карта 2.24–2.36 и 2.38 – текущий, подробности см. В соответствующих примечаниях к выпуску в списке рассылки или в каталог tarballs.

Серия выпускаНачальная. дата выпускаОсновные улучшения
GLib 1.x
1.1 1998-09-12
1.2 1999-02-27
1.3 2001-09-25
GLib 2.x
2.0 2002-03-08
2.24 2010-03-26GVariant, GConverted
2.26 27.09.2010, GDbus, GObject привязки свойств (GAtomic для реф-подсчета)
2.30 2011-09-26Неуникальные приложения GA, используйте eventfd() для пробуждения основного цикла, оптимизации набора GHashTable, масштабируемости данных GObject
2.32 2012-03-24Планы для GLib 2.32
2.34 2012-09-23Что нового для разработчиков в GLib 2.34
2.36 2013-03-25
2.38 23.09.2013приложения, запущенные с использованием D-Bus активации GSubprocess, Unicode 6.3 (выпущено в сентябре 2013 г.)
2.40 2014 -03-24GNotification, API системных уведомлений
2.42 2014-09-22
2.43 2014-10-27
2.44 2015-03- 23
2.45 2015-04-30
2.46 2015-0 9-21
2.47 2015-10-26
2.48 2016-03-22
2.50 2016-09-19
2.52 2017-03- 19
2.53 2017-04-25
2.54 2018-01-08

Подобные проекты

Другие наборы инструментов для виджетов предоставляют низкоуровневые функции и реализации структур данных, в том числе:

  • Стандартная библиотека шаблонов (STL) - C ++ библиотека для структур данных и алгоритмов
  • Boost - предоставляет некоторые функции для C ++, такие как примитивы потоковой передачи, аналогичные тем, что делает GLib для C
  • QtCore - базовый API Qt Framework
  • wxBase - не связанные с графическим интерфейсом функции библиотеки wxWidgets
  • Apache Portable Runtime и Apple Core Foundation имеют большое функциональное перекрытие с GLib и предоставляют множество аналогичных переносимых ОС реализаций потоков, сети и структур данных на C.

Ссылки

Внешние ссылки

  • Портал бесплатного программного обеспечения с открытым исходным кодом
Последняя правка сделана 2021-05-21 09:02:59
Содержание доступно по лицензии CC BY-SA 3.0 (если не указано иное).
Обратная связь: support@alphapedia.ru
Соглашение
О проекте