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