我经常看到使用 uint32、uint64 等类型的源代码,我想知道它们是否应该由程序员在应用程序代码中定义,或者它们是否应该在标准 lib 标头中定义。
在我的应用程序源代码中包含这些类型的最佳方式是什么?
C99stdint.h定义了这些:
int8_tint16_tint32_tuint8_tuint16_tuint32_t而且,如果架构支持它们:
int64_tuint64_t还有各种其他整数类型定义stdint.h。
如果您在没有 C99 环境的情况下陷入困境,那么您可能应该提供自己的 typedef 并使用 C99 的。
和uint32(uint64即没有_t后缀)可能是特定于应用程序的。
这些整数类型都定义在stdint.h
如果您使用的是 C99,只需包含stdint.h. 顺便说一句,如果处理器支持它们,64 位类型就在那里。
提问者实际上询问的是 int16 (等)而不是(丑陋的) int16_t (等)。
没有标准头文件 - Linux 的 /usr/include/ 文件夹中也没有任何标准头文件在没有“_t”的情况下定义它们。