xserver 代码中使用的 CARD32 数据类型是什么?
What is CARD32 data type used in xserver code?
什么是 CARD32 数据类型,它是在哪里定义的?我正在阅读 xserver 代码,但无法找到 CARD 数据类型的定义。
由于 post 的评论引用了错误的代码片段作为理由,我想给出一个正确的答案。
如前所述,CARD32
是一个 无符号 32 位整数。
该类型在 X11/Xmd.h
的 C 头文件中定义(GitHub Permalink 截至 2021 年 9 月 8 日)。
以下是相关摘录:
# ifdef LONG64
typedef unsigned long CARD64;
typedef unsigned int CARD32;
# else
typedef unsigned long long CARD64;
typedef unsigned long CARD32;
# endif
此外,LONG64
宏仅针对 64 位架构定义。因此,CARD32
在 64 位架构上是 unsigned int
,在其他任何地方都是 unsigned long
。
什么是 CARD32 数据类型,它是在哪里定义的?我正在阅读 xserver 代码,但无法找到 CARD 数据类型的定义。
由于 post 的评论引用了错误的代码片段作为理由,我想给出一个正确的答案。
如前所述,CARD32
是一个 无符号 32 位整数。
该类型在 X11/Xmd.h
的 C 头文件中定义(GitHub Permalink 截至 2021 年 9 月 8 日)。
以下是相关摘录:
# ifdef LONG64
typedef unsigned long CARD64;
typedef unsigned int CARD32;
# else
typedef unsigned long long CARD64;
typedef unsigned long CARD32;
# endif
此外,LONG64
宏仅针对 64 位架构定义。因此,CARD32
在 64 位架构上是 unsigned int
,在其他任何地方都是 unsigned long
。