uint32_t和u_int32_t之间的区别

15

u_int32_tuint32_t有什么区别?


1
后者在C99的头文件stdint.h中定义。前者则没有。从http://lists.freedesktop.org/archives/release-wranglers/2004-August/000925.html看起来,也许u_形式是在BSD Unix中使用的?无论如何,在您的代码中应该使用uint32_t - Conrad Meyer
@Conrad 为什么这是一条评论而不是答案? - Core Xii
@Core Xii:耸肩。在回答之前,我从未听说过 u_int32_t,我不是权威来源。 - Conrad Meyer
4个回答

15

uint32_t是C99标准中的一种数据类型,而u_int32_t则用于一些POSIX实现内部。


什么是POSIX?这个链接回答了我所提出的问题。 - Hoseyn Heydari

4

正如其他人提到的那样,uint32_t是标准的C99类型。

总之,要点是如果你正在编写可移植的C代码或C头文件,旨在在不同的设备/架构之间共享,可以使用stdint.h。


1

uint32_t 是标准的 C99 数据类型,而 u_int32_t 则用于某些 Unix 平台。


0

变量类型uint32_t是根据所谓的C99标准定义的无符号32位整数数据类型。并非所有编译器都遵守该标准。而u_int32_t用于某些内部实现。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接