我注意到了
#ifdef __INT56_TYPE__
typedef __INT56_TYPE__ int56_t;
typedef __UINT56_TYPE__ uint56_t;
typedef int56_t int_least56_t;
typedef uint56_t uint_least56_t;
typedef int56_t int_fast56_t;
typedef uint56_t uint_fast56_t;
我搜索了谷歌但什么也没找到。而且我还是第一次注意到这些类型。
头文件中这些类型之前的 注释(链接到添加这些类型的 GitHub 提交) 解释:
容纳缺失类型恰好为 8、16、32 或 64位宽,该实现采用级联方式 重新定义,将 __int_leastN_t 重新定义为连续更小的精确宽度 类型。因此,按以下顺序定义类型非常重要: 宽度递减。
这样的机器是否(还存在?)在野外是一个很好的问题,但 LLVM/clang 会支持它们。
简而言之,回答“如何使用它们”:
你不需要,除非你有一台定义
__INT56_TYPE__
的深奥机器。