GLib

GLib's code was separated from GTK, so it can be used by software other than GNOME and has been developed in parallel ever since.

GLib implements functions that provide threads, thread programming and related facilities such as primitive variable access, mutexes, asynchronous queues, secure memory pools, message passing and logging, hook functions (callback registering) and timers.

GLib also includes message passing facilities such as byte order conversion and I/O channels.

The original libraries were: Of these, three continue to reside in distinct subdirectories of the source tree, and so can be thought of as discrete components: GLib, GObject, and GIO.

These can be thought of as a software stack: GObject relies on GLib, and GIO provides higher-level functionality that uses both.

Simplified software architecture of GTK , Pango , GDK , ATK , GIO , Cairo and GLib.