我正在从字节数组中读取Word,并且需要使我的部分代码具有endian感知。GHC是否公开了我可以使用的任何东西(比如MachDeps.h)来使代码以处理器的特性为条件?如果不是,我可以从HOST_ARCH ( ghcplatform.h可在.cabal文件中使用arch()条件访问)可靠地推断出endianness吗?或者其他的想法?
发布于 2015-03-30 15:23:12
你是在找这样的东西吗:https://hackage.haskell.org/package/cpu-0.1.0/docs/System-Endian.html
如果您不想/不能使用这些包,请查看上面的源代码,您可以看到如何在使用(几乎)任何低级编程语言(如C或类似语言)的任何平台上检查endianness。填充堆栈的一部分(用于机器的4位:例如1000),然后读取所述堆栈的LSB或MSB。Endianness将决定其存储方式(您将读取1000或0001)。
https://stackoverflow.com/questions/29349835
复制相似问题