我的GNU-Linux平台(debian stretch)在文件u_int8_t
中定义了C类型u_int16_t
,u_int32_t
,u_int64_t
和sys/types.h
,而{ {1}},uint8_t
,uint16_t
和uint32_t
在uint64_t
中定义。我发现这些类型在练习X86-64汇编语言和与C交互的过程中很有用。有什么理由我更喜欢一个头文件而不是另一个头文件(无论是'最佳实践',可移植性等)?对于C ++,答案是否有所不同?
答案 0 :(得分:10)
stdint.h
是标准C,它在标准C ++中映射到cstdint
。
sys/types.h
不可移植C.