32位系统上的64 int64_t的字节序

v.o*_*dou 5 c c++ endianness int64

我想知道,如果比本机字大,该类型有编译器支持的抽象,像int64_t一个32位系统上,在内存中的字节顺序上的任何规范?例如,在小端机器上,我们是否应该假设内存布局是一个完整的64位交换顺序?或者像PDP-11一样可以自由地成为中端?

cf http://en.wikipedia.org/wiki/Endianness#Middle-endian

因为在C99中的int64_t之前__int64(MS)或long long(gcc)不是标准的,所以在这种类型的字节顺序上假设有什么东西不是很遥远吗?

谢谢

dia*_*pir 0

C 是一种可移植语言,因此对整数类型的实际表示没有太多假设。该标准甚至允许在值位之间散布填充位!有关详细信息,请参阅6.2.6.2 整数类型。