为什么 gtk 有 gint、gdouble……它们只是 typedef?
Why does gtk have gint, gdouble... which are just typedef?
根据 official GTK documentation,gdouble、gchar 等只是普通 C 类型的 typedef。
这有什么意义?为什么不简单地使用传统名称,int,char;为什么不厌其烦地对它们全部进行 typedef,据我所知,什么都不添加?
真正的原因在时间中消失了,从此成为了传说。这些类型是由 The GIMP 的原作者引入的,目的是在 Emacs 中获得一致的语法突出显示。
对于简单类型定义的类型,您完全可以在自己的代码中自由使用 C89、C99 和 C11 类型。对于其他一些特定于平台的类型,例如 gsize
或 gint64
,最好与您使用的 API 期望的一致。
根据 official GTK documentation,gdouble、gchar 等只是普通 C 类型的 typedef。
这有什么意义?为什么不简单地使用传统名称,int,char;为什么不厌其烦地对它们全部进行 typedef,据我所知,什么都不添加?
真正的原因在时间中消失了,从此成为了传说。这些类型是由 The GIMP 的原作者引入的,目的是在 Emacs 中获得一致的语法突出显示。
对于简单类型定义的类型,您完全可以在自己的代码中自由使用 C89、C99 和 C11 类型。对于其他一些特定于平台的类型,例如 gsize
或 gint64
,最好与您使用的 API 期望的一致。