为什么 gtk 有 gint、gdouble...这些只是 typedef?

use*_*649 5 gtk gdk

根据GTK 官方文档,gdouble、gchar 等只是普通 C 类型的 typedef。

这有什么意义呢?为什么不简单地使用传统的名称,int,char;为什么要麻烦地对它们全部进行 typedef 并且据我所知,不向它们添加任何内容?

eba*_*ssi 7

真正的原因已经随着时间的流逝而消失,并从此成为传说。这些类型是由 GIMP 的原作者引入的,目的是为了在 Emacs 中获得一致的语法突出显示。

对于简单 typedef 类型,您完全可以在自己的代码中使用 C89、C99 和 C11 类型。对于其他一些特定于平台的类型,例如gsizegint64,最好与您正在使用的 API 的期望保持一致。