GLib

Portability layer.

  • Constants and macros for data sizes, byte ordering, print format specifiers, ...

  • Useful data structures and algorithms for working with them.

    • Lists (single- and double-linked)

    • Hash tables

    • Trees

    • Memory management assistance: various caching structures and helper functions.

  • String functions (including Unicode support).

  • Filesystem and process support.