我想编写独立于平台的代码,该代码填充32位int数组,然后将其传输到little-endian嵌入式计算机。
如果目标是大端顺序,我将使用htonl
从主机顺序(无论是哪种顺序)转换为网络(大端顺序)顺序。但无论主机顺序如何,我都想去小尾数法。我当然不能使用“相反的” ntohl
-因为它执行完全相同的交换。
在C语言中是否有标准的“ h-to-LittleEndian-l”功能?
我可以使用bswap_32(htonl(X))
来完成自己的任务,但是我不确定我相信编译器不会在小字节序的机器上生成双交换。