我们需要支持 3 个硬件平台——Windows(小端)和 Linux Embedded(大端和小端)。我们的数据流依赖于它使用的机器,数据需要被分解成位域。
我想写一个宏(如果可能的话)来抽象出细节。在 Linux 上,我可以使用bswap_16
/ bswap_32
/bswap_64
进行 Little Endian 转换。
但是,我在我的 Visual C++ 包含中找不到这个。
是否有适用于两个平台(Windows 和 Linux)的通用内置程序?
如果不是,那么我可以在 Visual C++ 中使用什么来进行字节交换(除了自己编写 - 希望内置一些机器优化)?
谢谢。