GLib

aus Wikipedia, der freien Enzyklopädie
Wechseln zu: Navigation, Suche
GLib
Entwickler Das GTK+-Team
Aktuelle Version 2.42.1
(10. November 2014)
Betriebssystem Unix, Windows, OS/2, BeOS
Programmier­sprache C
Kategorie Komponentenbibliothek
Lizenz LGPL (Freie Software)
Deutschsprachig ja
gtk.org

GLib ist eine in C geschriebene Bibliothek, die 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 selbst seine Funktionen intensiv nutzt. Nicht zu verwechseln ist der Name GLib mit der glibc, der freien GNU-Implementierung der Standard C Library.

Eigenschaften[Bearbeiten]

GLib bietet Unterstützung für

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[Bearbeiten]