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

Материал из Википедии — свободной энциклопедии
Перейти к навигации Перейти к поиску
[отпатрулированная версия][непроверенная версия]
Содержимое удалено Содержимое добавлено
м Развёртка сокращений «ПО»→«программное обеспечение» и т. п. в категориях с помощью AWB (7794)
Нет описания правки
Метки: с мобильного устройства из мобильной версии через расширенный мобильный режим
 
(не показано 39 промежуточных версий 29 участников)
Строка 1: Строка 1:
{{Карточка программы
{{Карточка программы
| developer = [[Проект GNOME]]
| name = GLib
| operating_system = [[Кроссплатформенное программное обеспечение|кроссплатформенная]]
| logo =
| screenshot =
| caption =
| genre = библиотека исполнения
| developer =
| programming_language = [[Си (язык программирования)|С]]
| operating_system = [[Кроссплатформенное программное обеспечение|кроссплатформенная]]
| latest_release_version = 2.27.91
| latest_release_date = [[13 января]] [[2011]]<ref>[http://freshmeat.net/projects/glib#release_324319 GLib | freshmeat.net<!-- Заголовок добавлен ботом -->]</ref>
| latest_preview_version =
| latest_preview_date =
| license = [[GNU LGPL]]
| website = [http://www.gtk.org www.gtk.org]
}}
}}
'''GLib''' — низкоуровневая [[библиотека (программирование)|библиотека]], расширяющая возможности, предоставляемые стандартной библиотекой [[libc]] языка C.
'''GLib''' — низкоуровневая [[библиотека (программирование)|библиотека]], расширяющая возможности, предоставляемые стандартной библиотекой [[libc]] языка C.


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


GLib предоставляет основную объектную систему, используемую в GNOME, реализацию основного цикла, а также обширный набор вспомогательных функций для строк и типовых структур данных<ref>[http://library.gnome.org/devel/glib/ GLib Reference Manual — GNOME Library<!-- Заголовок добавлен ботом -->]</ref>.
GLib предоставляет основную объектную систему, используемую в GNOME, реализацию основного цикла, а также обширный набор вспомогательных функций для строк и типовых структур данных<ref>{{Cite web |url=http://library.gnome.org/devel/glib/ |title=GLib Reference Manual — GNOME Library<!-- Заголовок добавлен ботом --> |access-date=2008-10-13 |archive-date=2010-05-10 |archive-url=https://web.archive.org/web/20100510070350/http://library.gnome.org/devel/glib/ |deadlink=no }}</ref>.


На данный момент GLib способна работать на многих UNIX-подобных операционных системах, а также MS Windows, OS/2 и BeOS.
На данный момент GLib способна работать на многих UNIX-подобных операционных системах, а также MS Windows, OS/2 и BeOS.
Строка 47: Строка 35:
* синтаксический анализатор файлов, содержащих закладки;
* синтаксический анализатор файлов, содержащих закладки;
* средства работы с регулярными выражениями типа Glob.
* средства работы с регулярными выражениями типа Glob.
GLib реализует функции, которые обеспечивают потоки, программирование потоков и связанные с ними средства, такие как примитивный доступ к переменным, мьютексы, асинхронные очереди, защищенные пулы памяти, передача и регистрация сообщений, функции ловушек (регистрация обратного вызова) и таймеры. GLib также включает средства передачи сообщений, такие как преобразование порядка байтов и каналы ввода-вывода.


=== Типы данных ===
=== Типы данных ===
Строка 53: Строка 42:


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


== Примечания ==
== Примечания ==
{{примечания}}
{{примечания}}


== Ссылки ==
== Ссылки ==
* {{cite web
{{Навигация
|url = http://developer.gnome.org/glib/stable/
|Тема =
|title = Glib Reference Manual
|Портал = Свободное программное обеспечение
|lang = en
|Викисловарь =
|accessdate = 2011-09-29
|Викиучебник =
|description = Руководство пользователя GLib
|Викицитатник =
|archiveurl = https://www.webcitation.org/65Bo5x2S3?url=http://developer.gnome.org/glib/stable/
|Викитека =
|archivedate = 2012-02-04
|Викивиды =
|deadurl = yes
|Викиновости =
|Викисклад =
|Метавики =
|Проект =
}}
}}
* {{cite web
* {{cite web
| url = http://developer.gnome.org/glib/stable/
|url = http://lserv.deg.gubkin.ru/docs/glib/ru/index.html
|title = Справочное описание GLib (уже недоступно)
| title = Glib Reference Manual
| lang = en
|lang = ru
| accessdate = 29 сентября 2011
|accessdate = 2014-03-24
| description = Руководство пользователя GLib
|description = Русский перевод API GLib версии 2.13.0
|archiveurl = https://www.webcitation.org/61AN5nYEu?url=http://lserv.deg.gubkin.ru/docs/glib/ru/index.html
|archivedate = 2011-08-24
|deadurl = yes
}}
}}

* {{cite web
* {{cite web
| url = http://lserv.deg.gubkin.ru/docs/glib/ru/index.html
| url = http://www.opennet.ru/docs/RUS/glib_api/
| title = Справочное описание GLib
| title = Справочное описание GLib
| lang = ru
| lang = ru
| accessdate = 31 октября 2010
| accessdate = 2014-03-24
| description = Русский перевод API GLib версии 2.13.0
| description = Русский перевод API GLib версии 2.13.0
| archiveurl = http://www.webcitation.org/61AN5nYEu
| archivedate = 2011-08-24
}}
}}
* {{cite web
* {{cite web
Строка 94: Строка 82:
|title = Справочное описание GObject
|title = Справочное описание GObject
|lang = ru
|lang = ru
|accessdate = 13 октября 2008
|accessdate = 2008-10-13
|description = Русский перевод API GObject (версия GLib 2.13.7)
|description = Русский перевод API GObject (версия GLib 2.13.7)
}}
}}



{{GNOME}}
{{freesoftware-stub}}
{{freesoftware-stub}}
{{GNOME-stub}}
{{GNOME-stub}}
{{GNOME}}


[[Категория:Библиотеки Си]]
[[Категория:Библиотеки Си]]
Строка 107: Строка 94:
[[Категория:GNOME]]
[[Категория:GNOME]]
[[Категория:GTK+]]
[[Категория:GTK+]]

[[ar:جي ليب]]
[[cs:GLib]]
[[de:GLib]]
[[en:GLib]]
[[es:GLib]]
[[fr:GLib]]
[[it:GLib]]
[[ja:GLib]]
[[pl:GLib]]
[[uk:GLib]]

Текущая версия от 11:28, 29 июня 2024

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

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

Разрабатываемая в рамках и лежащая в основах проектов 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 предназначены для удобства программиста и переносимости приложения. Они делятся на следующие группы:

  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, который похож на стандартные С строки, за исключением того, что они автоматически расширяются, когда текст добавляется или вставляется. Также, он хранит длину строки, так что может быть использован для двоичных данных с нулевыми байтами.

Примечания

[править | править код]
  1. 2.82.4 · GNOME / GLib · GitLab (англ.)
  2. The glib Open Source Project on Open Hub: Languages Page — 2006.
  3. Free Software Directory
  4. GLib Reference Manual — GNOME Library. Дата обращения: 13 октября 2008. Архивировано 10 мая 2010 года.