如何在具有大端架构的机器上测试您的代码?
Posted
技术标签:
【中文标题】如何在具有大端架构的机器上测试您的代码?【英文标题】:How to test your code on a machine with big-endian architecture? 【发布时间】:2011-02-19 19:29:12 【问题描述】:ideone.com 和 codepad.org 都有 Little-Endian 架构。
我想在具有 Big-Endian 架构的机器上测试我的代码(例如 - Solaris - 我没有)。你知道一些简单的方法吗?
【问题讨论】:
在 x86 或 x86-64 架构上的 Solaris 不也是 little-endian 吗?而且我认为 SPARC 是双端启动的。 @只是我的正确意见:我认为你是对的。它应该是。虽然我不确定。让我们等待其他人发表评论。 是的,Solaris 匹配处理器字节序(OS X 也是如此)。它在 SPARC 上是大端,在 x86/x86-64 上是小端。 Imitate/emulate a big-endian behavior in C?的可能重复 【参考方案1】:QEMU 支持模拟几种大端架构。请注意,某些架构支持两种字节序;一些(Itanium、ARM)主要用作小端,而另一些(PowerPC、MIPS)主要用作大端。
Aurélien Jarno 写了一些关于在模拟的 MIPS 或 SPARC 机器上安装 Debian 的 HOWTO,这应该是一个好的开始。
【讨论】:
我尝试了 QEMU,但只收到奇怪的错误消息,或者它只是挂断了。【参考方案2】:谷歌搜索“大端在线模拟器”将我带到PearPC。我假设如果你有耐心,你可以install Mandrake Linux,获取 gcc,然后参加派对。
【讨论】:
power pc 不是双端的吗?这意味着在 linux 中可能是 little endian? @AndréPuel:好吧,如果有人费心将 Linux 移植到 ppcle,当然可以。但有什么意义呢?这不会让它在任何它不能运行的地方运行,不是吗?【参考方案3】:如果您使用的是 Ubuntu,您可以下载 MIPS 交叉编译器(或任何其他 QEMU 支持的大端架构,并具有预构建的交叉编译器)和 QEMU-user,然后在静态链接中编译您的代码,然后运行它。
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
【讨论】:
以上是关于如何在具有大端架构的机器上测试您的代码?的主要内容,如果未能解决你的问题,请参考以下文章