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 GLib-Referenz für die aktuelle stabile Version GObject-Referenz für die aktuelle stabile Version GIO-Referenz für die aktuelle stabile Version
Einzelnachweise
Kategorie:Freie Systemsoftware Kategorie:Freies Programmierwerkzeug Kategorie:C-Bibliothek