根据GTK 官方文档,gdouble、gchar 等只是普通 C 类型的 typedef。
这有什么意义呢?为什么不简单地使用传统的名称,int,char;为什么要麻烦地对它们全部进行 typedef 并且据我所知,不向它们添加任何内容?
真正的原因已经随着时间的流逝而消失,并从此成为传说。这些类型是由 GIMP 的原作者引入的,目的是为了在 Emacs 中获得一致的语法突出显示。
对于简单 typedef 类型,您完全可以在自己的代码中使用 C89、C99 和 C11 类型。对于其他一些特定于平台的类型,例如gsize或gint64,最好与您正在使用的 API 的期望保持一致。