Fácil


GLib es un paquete de tres (anteriormente cinco) bibliotecas de sistema de bajo nivel escritas en C y desarrolladas principalmente por GNOME . El código de GLib se separó de GTK , por lo que puede ser utilizado por otro software que no sea GNOME y se ha desarrollado en paralelo desde entonces.

GLib proporciona estructuras de datos avanzadas, como fragmentos de memoria, listas enlazadas doble y sencillamente , tablas hash , cadenas dinámicas y utilidades de cadenas, como un escáner léxico , fragmentos de cadenas (grupos de cadenas), matrices dinámicas, árboles binarios balanceados , N-ary árboles , quarks (una asociación bidireccional de una cadena y un identificador entero único), listas de datos clave, relaciones y tuplas . Los cachés proporcionan gestión de la memoria.

GLib implementa funciones que proporcionan subprocesos , programación de subprocesos y facilidades relacionadas, como acceso variable primitivo, exclusión mutua , colas asíncronas , grupos de memoria seguros , paso y registro de mensajes , funciones de enlace (registro de devolución de llamada) y temporizadores . GLib también incluye funciones de paso de mensajes, como conversión de orden de bytes y canales de E/S.

El paquete GLib constaba de cinco bibliotecas, pero todas se fusionaron en una biblioteca, desde entonces denominada simplemente GLib , y ya no se mantienen como bibliotecas independientes. Las bibliotecas originales fueron:

De estos, tres siguen residiendo en distintos subdirectorios del árbol de código fuente, por lo que pueden considerarse componentes discretos: GLib, GObject y GIO. Estos pueden considerarse como una pila de software: GObject se basa en GLib y GIO proporciona una funcionalidad de nivel superior que utiliza ambos.

GLib comenzó como parte del proyecto GTK+ , ahora llamado GTK. Sin embargo, antes de lanzar GTK+ versión 2, los desarrolladores del proyecto decidieron separar el código de GTK+ que no era para interfaces gráficas de usuario (GUI), creando así GLib como un paquete de software separado. GLib se lanzó como una biblioteca separada para que otros desarrolladores, aquellos que no usan las partes relacionadas con la GUI de GTK+, puedan usar las partes de la biblioteca que no son GUI sin la sobrecarga de depender de la biblioteca GUI completa.


Arquitectura de software simplificada de GTK . Pango , GDK , ATK , GIO , Cairo y GLib.