GLib是一个跨平台的、用C语言编写的五个底层库的集合,为GNOME所使用。
GLib起初是GTK+的一部分,但到了GTK+第二版,开发者决定把跟图形界面无关的代码分开,这些代码于是就组装成了GLib。
因为GLib具有跨平台特性,所以用它编写的程序可以无需进行大幅度修改就可以在其他程序上编译和运行。
GLib提供了多种高级的数据结构,如内存块、双向和单向链表、哈希表、动态字符串以及字符串工具(例如词法分析器,字符串切分等)、动态数组、平衡二叉树、n-叉树、键值存储、关系和元组,还有带有缓存的内存管理。
Glib还实现了线程相关的函数、多线程编程以及相关的工具,例如原始变量访问、互斥锁、异步队列、安全内存池、消息传递和日志、钩子函数和计时器,同时消息传递还包含了字节序转换和IO channel。
GLib由五个库组成: