我的 GNU-Linux 平台 (debian stretch) 有 C 类型 u_int8_t
、u_int16_t
、u_int32_t
和 u_int64_t
在文件 sys/types.h
中定义,同时 uint8_t
、uint16_t
、uint32_t
和 uint64_t
在 stdint.h
中定义。我发现这些类型在练习 X86-64 汇编语言和与 C 交互的过程中很有用。有什么理由让我更喜欢一个头文件而不是另一个(“最佳实践”、可移植性等)? C++ 的答案有什么不同吗?
最佳答案
stdint.h
是标准 C,它映射到标准 C++ 中的 cstdint
。
sys/types.h
不是可移植的 C。
关于c++ - 我应该使用 C 类型 (uint8_t/.../uint64_t) 还是 (u_int8_t/.../u_int64_t)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42979055/