u_int32_t
和uint32_t
有什么区别?
uint32_t
是C99标准中的一种数据类型,而u_int32_t
则用于一些POSIX实现内部。
正如其他人提到的那样,uint32_t是标准的C99类型。
总之,要点是如果你正在编写可移植的C代码或C头文件,旨在在不同的设备/架构之间共享,可以使用stdint.h。
uint32_t 是标准的 C99 数据类型,而 u_int32_t 则用于某些 Unix 平台。
变量类型uint32_t是根据所谓的C99标准定义的无符号32位整数数据类型。并非所有编译器都遵守该标准。而u_int32_t用于某些内部实现。
stdint.h
中定义。前者则没有。从http://lists.freedesktop.org/archives/release-wranglers/2004-August/000925.html看起来,也许u_形式是在BSD Unix中使用的?无论如何,在您的代码中应该使用uint32_t
。 - Conrad Meyer