GLib | |
---|---|
Basisdaten | |
Entwickler | Das GTK+-Team |
Aktuelle Version | 2.78.0 (8. September 2023) |
Betriebssystem | Unix, Windows, OS/2, BeOS |
Programmiersprache | C |
Kategorie | Komponentenbibliothek |
Lizenz | LGPL (Freie Software) |
deutschsprachig | ja |
gtk.org |
GLib ist eine in C geschriebene Bibliothek, welche verschiedene Funktionen bereitstellt, die normalerweise in C nur mit sehr viel Aufwand möglich sind. So wird das objektorientierte Programmieren erheblich vereinfacht und komplexe Datenstrukturen wie binäre Bäume und verkettete Listen und die Behandlungsroutinen für den Umgang mit Threads, Dateien, Strings (auch Unicode-Umwandlungen), Zeitfunktionen, Speicherzugriff und mehr bereitgestellt.
Die Funktionssammlung ist unter vielen Unix-artigen Plattformen, Windows, OS/2 und BeOS verfügbar. Entwickelt hat sich die GLib aus GTK+, welches ihre Funktionen selbst intensiv nutzt. Nicht zu verwechseln ist der Name GLib mit der glibc, der freien GNU-Implementierung der Standard C Library.
Eigenschaften
GLib bietet Unterstützung für
- Basistypen
- Standard-Makros
- Typumwandlung
- Konvertierung der Byte-Reihenfolge
- Speicherreservierung
- Warnungen und Zusicherungen
- Nachricht-Protokollierung
- Timer
- Zeichenketten-Funktionen
- Reguläre Ausdrücke
- Hook-Funktionen
- Lexikalisches Scannen
- Parsen einer XML-Untermenge
- Dynamisches Laden von Modulen
- Threads
- Speicher-Pools
- Automatische Zeichenkettenvervollständigung
- Typsystem (GType)
- Datenstrukturen
- Speicher-Chunks
- Einfach und doppelt verkettete Listen
- Hashtabellen
- Dynamisch-wachsende Zeichenketten
- Zeichenketten-Chunks
- Felder
- Balancierte Binärbäume
- N-äre Bäume
- Quarks
- Relationen und Tupel
- Caches
Zum GLib-Projekt zugehörig, aber in eine eigene Bibliothek ausgelagert, ist das GObject-Objektsystem, das objektorientierte Programmierung in C vereinfacht und unter anderem auch ein Signalsystem bietet, mit dem sich Objekte über Ereignisse benachrichtigen können.
Ebenfalls zum GLib-Projekt gehört die Bibliothek GIO (GLib Interfaces and Objects). GIO ist der auf GObject basierende Teil des GLib-Projektes und bietet Datei- und Datenstromobjekte, Netzwerkfunktionalität, Klassen für Datenkompression und -konvertierung, Schnittstellen zum Interprozess-Kommunikationssystem D-Bus und eine Schnittstelle zum Speichern von Anwendungseinstellungen.
Weitere Bibliotheken, die auf dem GLib-GObject-Gespann basieren, sind beispielsweise das Widget-Toolkit GTK+, das Multimediaframework GStreamer, das Animationsframework Clutter und die HTTP-Bibliothek Soup.
Die Programmiersprache Vala verwendet GLib als Standardbibliothek und GObject als Objektsystem.
Weblinks
Einzelnachweise
- ↑ Release 2.78.0.
- ↑ The glib Open Source Project on Open Hub: Languages Page. In: Open Hub. (abgerufen am 30. Oktober 2018).