【问题标题】:Why does GLib redefine types?为什么 GLib 重新定义类型?
【发布时间】:2010-12-21 15:09:29
【问题描述】:

在 GLib 中重新定义类型的原因是什么?为什么他们把char变成gcharint变成gint等等?

【问题讨论】:

    标签: c types glib


    【解决方案1】:

    查看 GLib 文档中的 Basic Types。从本质上讲,这是为了保证某些类型将以某些语义存在,而不管您使用的是哪个 C 编译器或平台。 C 保证的类型是typedefed,只是为了使所有类型名称看起来一致。

    【讨论】:

    • 所以把char变成gchar是为了让它看起来更漂亮?
    • 在某种程度上,但主要是因为 int 例如可能并非在所有系统上都相同,但 gint8 将始终为 8 位。
    • 我猜。一些 gtypes(可以说)在简单类型上提供了额外的语义,但我认为其余的只是为了一致性和可移植性。还要记住,GLib 可以追溯到 1999 年,早于 uint64_t 等类型的广​​泛使用,这就是它们推出自己的原因。
    猜你喜欢
    • 1970-01-01
    • 2011-04-14
    • 1970-01-01
    • 2020-02-11
    • 1970-01-01
    • 1970-01-01
    • 2015-05-20
    • 2019-12-14
    相关资源
    最近更新 更多