GCC 中有固定大小的整数吗?

发布于 2024-07-08 03:58:37 字数 186 浏览 13 评论 0原文

在 MSVC++ 编译器上,可以对具有特定大小的整数使用 __int8__int16__int32 和类似类型。 这对于需要使用低级数据结构(例如自定义文件格式、硬件控制数据结构等)的应用程序非常有用。

我可以在 GCC 编译器上使用类似的等效工具吗?

On the MSVC++ compiler, one can use the __int8, __int16, __int32 and similar types for integers with specific sizes. This is extremely useful for applications which need to work with low-level data structures like custom file formats, hardware control data structures and the like.

Is there a similar equivalent I can use on the GCC compiler?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

以为你会在 2024-07-15 03:58:37

ISO 标准 C,从 C99 标准开始,添加了定义这些类型的标准头

uint8_t  - unsigned 8 bit
int8_t   - signed 8 bit
uint16_t - unsigned 16 bit
int16_t  - signed 16 bit
uint32_t - unsigned 32 bit
int32_t  - signed 32 bit
uint64_t - unsigned 64 bit
int64_t  - signed 64 bit

我一直使用这些类型。

仅当实现支持具有适当大小和特征的预定义类型(大多数情况下)时,才定义这些类型。

还定义了名称格式为 (u)int_leastN_t 的类型(具有至少指定宽度的类型)和(u)int_fastN_t(至少具有指定宽度的“最快”类型); 这些类型是强制性的。

如果您使用的是不支持 的旧实现,您可以推出自己的实现; 一种实现是 Doug Gwyn 的“q8”

ISO standard C, starting with the C99 standard, adds the standard header <stdint.h> that defines these:

uint8_t  - unsigned 8 bit
int8_t   - signed 8 bit
uint16_t - unsigned 16 bit
int16_t  - signed 16 bit
uint32_t - unsigned 32 bit
int32_t  - signed 32 bit
uint64_t - unsigned 64 bit
int64_t  - signed 64 bit

I use these types all the time.

These types are defined only if the implementation supports predefined types with the appropriate sizes and characteristics (which most do).

<stdint.h> also defines types with names of the form (u)int_leastN_t (types that have at least the specified width) and (u)int_fastN_t (the "fastest" types that have at least the specified width); these types are mandatory.

If you're using an old implementation that doesn't support <stdint.h>, you can roll your own; one implementation is Doug Gwyn's "q8".

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文