可能的重复:
为什么glib要重新定义类型? https://stackoverflow.com/questions/1819561/why-does-glib-redefine-types
在 GTK+ 2.0 教程中,我可以阅读here http://developer.gnome.org/gtk-tutorial/stable/c325.html以下关于数据类型的声明:
您可能在前面的示例中注意到了一些需要解释的事情。您看到的 gint、gchar 等分别是 int 和 char 的类型定义,它们是 GLib 系统的一部分。这样做是为了解决计算时对简单数据类型大小的严重依赖。
我不明白这个解释的最后一部分。为什么使用 Glib 数据类型更好?
正如教程提到的,这是为了确保可移植性。在新系统上构建使用 glib 的代码时,您只需使用 typedef 修改头文件,而不是使用这些类型的代码。
C99 标准添加了固定宽度类型(int8_t、uint32_t 等),这将使 glib 类型过时,但 glib 早于 C99 标准,这可能就是它拥有自己的一组类型的原因。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)