你或许发现前述示例中有几个地方需要解释,例如:gint、gchar 等等。你看到的这些被分别定义了类型别名(typedefs)到 int 和 char,它们是 GLib 系统的一部分。这样做的目的可以避免在计算时对简单数据类型的大小(size)的依赖。

    一个好的示例是 “gint32” 被定义为任何平台的32位整数,无论是64位的i386,还是32位的arm。该类型定义非常直观,因为你一眼就可以知道这是32位的变量定义 ^_^。

    这些宏定义位于 glib/glib.h (这个文件被gtk.h包含了 )。

    你也将注意到 GTK 有在函数要一个 GtkObject 作为参数时传入 GtkWidget 的能力。GTK 的设计是面向对象的,一个控件就是一个对象