我经常看到使用uint32,uint64等类型的源代码,我想知道它们是应该由程序员在应用程序代码中定义,还是在标准的lib头文件中定义。
在我的应用程序源代码中使用这些类型的最佳方法是什么?
答案 0 :(得分:121)
C99 stdint.h
定义了这些:
int8_t
int16_t
int32_t
uint8_t
uint16_t
uint32_t
而且,如果架构支持它们:
int64_t
uint64_t
stdint.h
中还有各种其他整数typedef。
如果您在没有C99环境的情况下陷入困境,那么您应该提供自己的typedef并使用C99环境。
uint32
和uint64
(即没有_t
后缀)可能是特定于应用的。
答案 1 :(得分:10)
这些整数类型都在stdint.h
答案 2 :(得分:2)
如果您使用的是C99,请添加stdint.h
。顺便说一句,如果处理器支持它们,那么64位类型就存在。
答案 3 :(得分:0)
提问者实际上询问了int16(等)而不是(丑陋)int16_t(等)。
没有标准的标题 - 在Linux的/ usr / include /文件夹中也没有标准标题,而没有" _t"。