Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/135.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ “BOOST\u ENDIAN\u BIG\u BYTE”和“BOOST\u ENDIAN\u BIG\u WORD”之间有什么区别?_C++_Boost - Fatal编程技术网

C++ “BOOST\u ENDIAN\u BIG\u BYTE”和“BOOST\u ENDIAN\u BIG\u WORD”之间有什么区别?

C++ “BOOST\u ENDIAN\u BIG\u BYTE”和“BOOST\u ENDIAN\u BIG\u WORD”之间有什么区别?,c++,boost,C++,Boost,在boost的最新版本中,定义了4个endian宏: * `BOOST_ENDIAN_BIG_BYTE`, byte-swapped big-endian. * `BOOST_ENDIAN_BIG_WORD`, word-swapped big-endian. * `BOOST_ENDIAN_LITTLE_BYTE`, byte-swapped little-endian. * `BOOST_ENDIAN_LITTLE_WORD`, word-swapped little-endian. 我不

在boost的最新版本中,定义了4个endian宏:

* `BOOST_ENDIAN_BIG_BYTE`, byte-swapped big-endian.
* `BOOST_ENDIAN_BIG_WORD`, word-swapped big-endian.
* `BOOST_ENDIAN_LITTLE_BYTE`, byte-swapped little-endian.
* `BOOST_ENDIAN_LITTLE_WORD`, word-swapped little-endian.
我不清楚字节宏和单词宏之间的区别

单词交换的endian是指可以被视为中间endian的史前硬件:一个单词的两半可以交换,但半个单词中的字节顺序不能交换。PDP-11可能是最著名的架构

老实说,boost支持这个endiannes的原因还不清楚,因为我很确定boost在那些史前架构上通常不受很好的支持。例如,C++标准对小选项和大选项进行了处理:

请参阅有关中端的更多信息:

字交换端是指现在可以被视为中端的史前硬件:一个字的两半可以交换,但半个字中的字节顺序不能交换。PDP-11可能是最著名的架构

老实说,boost支持这个endiannes的原因还不清楚,因为我很确定boost在那些史前架构上通常不受很好的支持。例如,C++标准对小选项和大选项进行了处理:


查看更多关于middle endian的内容:

谢谢,那么说所有这些宏都是互斥的是正确的吗?ifdef BOOST_endian_LITTLE_BYTE应该是最常见的情况,即对于intel/AMD台式机?@thc对于intel/AMD台式机是的,BOOST_endian_LITTLE_BYTE将是值得一看的。谢谢,所以说所有这些宏都是互斥的,并且ifdef BOOST_ENDIAN_LITTLE_BYTE应该是最常见的情况,即英特尔/AMD台式机?@thc对于英特尔/AMD台式机是的,BOOST_ENDIAN_LITTLE_BYTE应该是最常见的情况。