GLib — низькорівнева бібліотека, що розширює можливості, надані стандартною бібліотекою libc мови C.
Тип | бібліотека |
---|---|
Розробники | GNOME Foundation |
Стабільний випуск | 2.53.1 (25 квітня 2017 ) |
Платформа | крос-платформова |
Операційна система | крос-платформова |
Мова програмування | C |
Доступні мови | багатомовна |
Стан розробки | активний |
Ліцензія | GNU Library General Public License |
Онлайн-документація | developer.gnome.org/glib/ |
Репозиторій | gitlab.gnome.org/GNOME/glib.git |
Вебсайт | library.gnome.org/devel/glib/ |
Розробляється в рамках і лежить в основах проектів і GNOME. GLib широко використовується в застосунках, в тому числі і неграфічних. Випуск чергової версії бібліотеки за часом зазвичай збігається з випуском нової версії GTK+.
Glib надає основну об'єктну систему, яка використовується в GNOME, реалізацію основного циклу, а також великий набір допоміжних функцій для рядків і типових структур даних.
Зараз GLib здатна працювати на багатьох UNIX-подібних операційних системах, а також Windows, (OS/2) і BeOS.
Можливості
GLib надає такі можливості:
- великий набір базових і похідних типів даних;
- макроси і розвинений механізм налагоджувальних повідомлень;
- рядкові функції;
- функції для перетворення символів та підтримки юнікоду;
- вбудовані макроси gettext для інтернаціоналізації;
- засоби для роботи з динамічною пам'яттю;
- засоби для динамічного завантаження модулів;
- атомарні операції;
- програмні ниті і засоби їхньої синхронізації;
- породження нових процесів;
- таймери, функції для роботи з датою і часом;
- генератор псевдо-випадкових чисел;
- універсальний лексичний сканер;
- синтаксичний аналізатор параметрів командного рядка;
- синтаксичний аналізатор підмножини даних типу XML;
- синтаксичний аналізатор. ini-подібних конфігураційних файлів;
- засоби введення-виведення;
- функції перезахоплення;
- утиліти командного рядка;
- синтаксичний аналізатор файлів, що містять закладку;
- засоби роботи з регулярними виразами типу Glob.
Типи даних
Базові типи даних 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, схожий на стандартні рядок C, за винятком того, що вони автоматично розширюються, коли текст додається чи вставляється. Також, він зберігає довжину рядка, так що може бути використаний для двійкових даних з нульовими байтами.
Подібні проекти
Для багатьох застосувань C з GLib є альтернативою з бібліотекою шаблонів STL (дивись для докладнішого порівняння).
Інші набори віджетів звичайно теж забезпечують низькорівневі функції і реалізації структур даних. Наприклад, у бібліотеці wxWidgets не-GUI функції складають бібліотеку wxBase, у Qt не-GUI частина міститься у модулі QtCore, написаному на .
Виноски
- https://github.com/GNOME/glib/pull/12/files
- Krause, Andrew (2007). Foundations of GTK+ Development. Expert's Voice in Open Source. Apress. p. 5. . «[GLib] provides a cross-platform interface that allows your code to be run on any of its supported operating systems with little to no rewriting of code!»
- . Архів оригіналу за 10 травня 2010. Процитовано 10 травня 2010.
{{}}
: Обслуговування CS1: Сторінки з текстом «archived copy» як значення параметру title ()
Посилання
Вікіпедія, Українська, Україна, книга, книги, бібліотека, стаття, читати, завантажити, безкоштовно, безкоштовно завантажити, mp3, відео, mp4, 3gp, jpg, jpeg, gif, png, малюнок, музика, пісня, фільм, книга, гра, ігри, мобільний, телефон, android, ios, apple, мобільний телефон, samsung, iphone, xiomi, xiaomi, redmi, honor, oppo, nokia, sonya, mi, ПК, web, Інтернет
GLib nizkorivneva biblioteka sho rozshiryuye mozhlivosti nadani standartnoyu bibliotekoyu libc movi C GLibTipbibliotekaRozrobnikiGNOME FoundationStabilnij vipusk2 53 1 25 kvitnya 2017 7 rokiv tomu 2017 04 25 Platformakros platformovaOperacijna sistemakros platformovaMova programuvannyaCDostupni movibagatomovnaStan rozrobkiaktivnijLicenziyaGNU Library General Public LicenseOnlajn dokumentaciyadeveloper gnome org glib Repozitorijgitlab gnome org GNOME glib gitVebsajtlibrary gnome org devel glib Rozroblyayetsya v ramkah i lezhit v osnovah proektiv GTK i GNOME GLib shiroko vikoristovuyetsya v zastosunkah v tomu chisli i negrafichnih Vipusk chergovoyi versiyi biblioteki za chasom zazvichaj zbigayetsya z vipuskom novoyi versiyi GTK Glib nadaye osnovnu ob yektnu sistemu yaka vikoristovuyetsya v GNOME realizaciyu osnovnogo ciklu a takozh velikij nabir dopomizhnih funkcij dlya ryadkiv i tipovih struktur danih Zaraz GLib zdatna pracyuvati na bagatoh UNIX podibnih operacijnih sistemah a takozh Windows OS 2 i BeOS MozhlivostiGLib nadaye taki mozhlivosti velikij nabir bazovih i pohidnih tipiv danih makrosi i rozvinenij mehanizm nalagodzhuvalnih povidomlen ryadkovi funkciyi funkciyi dlya peretvorennya simvoliv ta pidtrimki yunikodu vbudovani makrosi gettext dlya internacionalizaciyi zasobi dlya roboti z dinamichnoyu pam yattyu zasobi dlya dinamichnogo zavantazhennya moduliv atomarni operaciyi programni niti i zasobi yihnoyi sinhronizaciyi porodzhennya novih procesiv tajmeri funkciyi dlya roboti z datoyu i chasom generator psevdo vipadkovih chisel universalnij leksichnij skaner sintaksichnij analizator parametriv komandnogo ryadka sintaksichnij analizator pidmnozhini danih tipu XML sintaksichnij analizator ini podibnih konfiguracijnih fajliv zasobi vvedennya vivedennya funkciyi perezahoplennya utiliti komandnogo ryadka sintaksichnij analizator fajliv sho mistyat zakladku zasobi roboti z regulyarnimi virazami tipu Glob Tipi danihBazovi tipi danih GLib priznacheni dlya zruchnosti programista i perenosimosti programi Voni dilyatsya na taki grupi Cili tipi z fiksovanim rozmirom gint8 guint8 gint16 guint16 gint32 guint32 gint64 guint64 Rozmir zminnoyi bud yakogo z cih tipiv odnakovij dlya kozhnoyi vikoristovuvanoyi aparatnoyi platformi Dlya gint8 napriklad vin zavzhdi dorivnyuye 8 bit Tezki standartnih tipiv movi C gpointer analog void gconstpointer guchar analog unsigned char guint gushort gulong gchar analog char gint gshort glong gfloat i gdouble Tip gboolean zi znachennyami TRUE i FALSE tipi gsize i gssize dlya predstavlennya rozmiriv struktur danih Tip GString shozhij na standartni ryadok C za vinyatkom togo sho voni avtomatichno rozshiryuyutsya koli tekst dodayetsya chi vstavlyayetsya Takozh vin zberigaye dovzhinu ryadka tak sho mozhe buti vikoristanij dlya dvijkovih danih z nulovimi bajtami Podibni proektiDlya bagatoh zastosuvan C z GLib ye alternativoyu C z bibliotekoyu shabloniv STL divis dlya dokladnishogo porivnyannya Inshi nabori vidzhetiv zvichajno tezh zabezpechuyut nizkorivnevi funkciyi i realizaciyi struktur danih Napriklad u biblioteci wxWidgets ne GUI funkciyi skladayut biblioteku wxBase u Qt ne GUI chastina mistitsya u moduli QtCore napisanomu na C Vinoskihttps github com GNOME glib pull 12 files Krause Andrew 2007 Foundations of GTK Development Expert s Voice in Open Source Apress p 5 ISBN 1 59059 793 1 GLib provides a cross platform interface that allows your code to be run on any of its supported operating systems with little to no rewriting of code Arhiv originalu za 10 travnya 2010 Procitovano 10 travnya 2010 a href wiki D0 A8 D0 B0 D0 B1 D0 BB D0 BE D0 BD Cite web title Shablon Cite web cite web a Obslugovuvannya CS1 Storinki z tekstom archived copy yak znachennya parametru title posilannya Posilannya angl Posibnik koristuvacha GLib ros Rosijskij pereklad API GLib versiyi 2 13 0 ros Rosijskij pereklad API GObject versiya Glib 2 13 7