如何在大端架构的计算机上测试您的代码?

23

ideone.comcodepad.org 都采用Little-Endian结构。

我想在一些具有Big-Endian结构的机器上测试我的代码(例如 - 我没有的Solaris)。 你知道有什么简单的方法吗?


太阳系操作系统在x86或x86-64体系结构上也是小端序吗?我认为SPARC也是双端序的。 - JUST MY correct OPINION
@仅代表我的正确看法:我认为你是对的。应该是这样的。虽然我不确定,让我们等待其他人的评论。 - Lazer
6
是的,Solaris与处理器的字节序相匹配(同样适用于OS X)。在SPARC上是大端序,在x86 / x86-64上是小端序。 - Nicholas Riley
可能是在C语言中模拟/仿真大端行为?的重复问题。 - phuclv
3个回答

27

QEMU 支持模拟多个大端架构。请注意,一些体系结构支持两种字节序;一些(Itanium、ARM)主要用作小端序,而另一些(PowerPC、MIPS)则主要用作大端序。

Aurélien Jarno 编写了一些关于在仿真的 MIPSSPARC 机器上安装 Debian 的 HOWTO,这应该是一个不错的起点。


我尝试了QEMU,但只得到了奇怪的错误消息或者它就卡住了。 - Hugo Maxwell

10

在谷歌上搜索“big endian online emulator”把我带到了PearPC。我认为如果你有耐心,你可以安装Mandrake Linux,获取gcc,然后开始工作。


PowerPC不是双端字节序吗?这意味着在带有Linux的系统中可能会使用小端字节序? - André Puel
@AndréPuel:如果有人费心将Linux移植到ppcle上,那当然可以。但这有什么意义呢?这不会让它在原本无法运行的地方运行,对吧? - SamB

8

如果您正在使用Ubuntu,您可以下载MIPS交叉编译器(或任何其他由QEMU支持且具有预构建交叉编译器的大端架构),以及QEMU用户程序,然后在静态链接下编译您的代码,然后直接运行它。

sudo apt-get install gcc-multilib-mips-linux-gnu gcc-mips-linux-gnu qemu-user

然后

mips-linux-gnu-gcc test.c -o test -static
qemu-mips ./test

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接