为什么clang c头文件中有int56_t,以及如何使用它们

问题描述 投票:0回答:1

我注意到了

https://android.googlesource.com/platform/prebuilts/clang/host/linux-x86/+/refs/heads/nougat-mr1-security-release/clang-2690385/lib64/clang/3.8/include/ stdint.h#128

#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;

我搜索了谷歌但什么也没找到。而且我还是第一次注意到这些类型。

c clang
1个回答
0
投票

头文件中这些类型之前的 注释(链接到添加这些类型的 GitHub 提交) 解释:

容纳缺失类型恰好为 8、16、32 或 64位宽,该实现采用级联方式 重新定义,将 __int_leastN_t 重新定义为连续更小的精确宽度 类型。因此,按以下顺序定义类型非常重要: 宽度递减。

这样的机器是否(还存在?)在野外是一个很好的问题,但 LLVM/clang 会支持它们。

简而言之,回答“如何使用它们”:

你不需要,除非你有一台定义

__INT56_TYPE__
的深奥机器。

© www.soinside.com 2019 - 2024. All rights reserved.