gpt4 book ai didi

c++ - 是否有缺少固定宽度类型 (intXX_t) 的平台?

转载 作者:太空狗 更新时间:2023-10-29 21:11:07 25 4
gpt4 key购买 nike

C++11固定宽度,2的补码类型:(u)int8_t, (u)int16_t

但是,这些类型是可选的。

有时我需要使用这些类型,因此我的代码可能不那么可移植。

目前是否有任何平台(具有可用的 C+11 编译器)不存在这些类型?

是否有任何“通用”(我知道这是一个模糊的词,但我想得到一个答案,DSP 和其他非常特定领域的平台被排除在外,因为这些平台很少成为移植目标当前的软件)平台,这些类型不存在?

注意 1:我知道,有些硬件不支持这些类型。然而,我所知道的所有此类硬件都没有符合 C++11 标准的编译器。这个问题是关于 C++11 实现的,其中实际上缺少固定宽度类型。

注意 2:我知道,有强制性的 leastfast 类型,但这个问题是关于精确宽度类型的。

最佳答案

intXX_t 仅适用于 two's complement 平台,其中 CHAR_BIT 是 2 的幂。但即使在这些平台上,也并非所有的 intXX_t 可能存在。例如,CHAR_BIT == 16 的 DSP 显然不能有 int8_t。在 CHAR_BIT == 24CHAR_BIT == 32 的 DSP 上将没有 int16_t

TI C2000 系列就是一个例子。它有 C99 support , 所以它 does have stdint.h .不幸的是,它尚不支持 C++11,但支持许多其他 TI DSP like C6000 do have C++14 support

另一个例子是 SHARC DSPs where CHAR_BIT == 32 and have both C99 and C++11 support

那些类型也不存在补码和符号量级平台。

关于c++ - 是否有缺少固定宽度类型 (intXX_t) 的平台?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51590607/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com