GLib:功能强大的通用工具库
1. GLib 基础
GLib 是一个通用实用库,用于实现许多非图形化的有用功能。它虽为 GTK+ 所必需,但也能独立使用,有些应用程序就仅借助 GLib 提供的众多功能,而不依赖 GTK+ 及其他支持库。使用 GLib 的主要好处之一是它提供了跨平台接口,能让代码在其支持的操作系统上运行,几乎无需重写。
1.1 基本数据类型
GLib 提供了一系列基本数据类型,这些类型不仅可移植到其他平台,还能用于包装 GTK+ 的其他编程语言。基本数据类型如下表所示:
| 类型 | 描述 |
| — | — |
| gboolean | 由于 C 语言没有布尔数据类型,GLib 提供了 gboolean,其值为 TRUE 或 FALSE |
| gchar (guchar) | 对应标准 C 字符类型的有符号和无符号数据类型 |
| gconstpointer | 指向常量数据的无类型指针,该类型指向的数据不应被更改,常用于函数原型中表示函数不会改变所指数据 |
| gdouble | 对应标准 C 双精度类型的数据类型,可能的值范围是 -G_MAXDOUBLE 到 G_MAXDOUBLE,G_MINDOUBLE 指 gdouble 能保存的最小正值 |
| gfloat | 对应标准 C 单精度类型的数据类型,可能的值范围是 -G_MAXFLOAT 到 G_MAXFLOAT,G_MINFLOAT 指 gfloat 能保存的最小正值 |
| gint (guint) | 对应标准 C 整数类型的有符号和无符号数据类型,有符号 gint 值必须在 G_MININT 到 G_MAX