23

Both ideone.com and codepad.org have Little-Endian architechtures.

I want to test my code on some machine with Big-Endian architechture (for example - Solaris - which I don't have). Is there some easy way that you know about?

Lazer
  • 90,700
  • 113
  • 281
  • 364
  • Wouldn't Solaris on an x86 or x86-64 architecture be little-endian too? And I think SPARC is bi-endian to boot. – JUST MY correct OPINION May 15 '10 at 06:15
  • @JUST MY correct OPINION: I think you are right. It should be. Though I am not sure. lets wait for others to comment. – Lazer May 15 '10 at 06:21
  • 6
    Yes, Solaris matches the processor endianness (as does OS X, for that matter). It's big-endian on SPARC and little-endian on x86/x86-64. – Nicholas Riley May 15 '10 at 06:55
  • Possible duplicate of [Imitate/emulate a big-endian behavior in C?](https://stackoverflow.com/questions/3337896/imitate-emulate-a-big-endian-behavior-in-c) – phuclv Jul 29 '18 at 03:48

3 Answers3

27

QEMU supports emulating several big-endian architectures. Note that some architectures support both endiannesses; some (Itanium, ARM) are primarily used as little-endian while others (PowerPC, MIPS) are primarily used as big-endian.

Aurélien Jarno wrote some HOWTOs on installing Debian on an emulated MIPS or SPARC machine which should be a good start.

Nicholas Riley
  • 43,532
  • 6
  • 101
  • 124
10

Googling "big endian online emulator" lead me to PearPC. I assume that if you have the patience you can install Mandrake Linux, get gcc, and go party.

MSN
  • 53,214
  • 7
  • 75
  • 105
  • Isnt power pc bi-endian? Which means in a linux with could be little endian? – André Puel Feb 12 '12 at 14:50
  • @AndréPuel: Well, if someone were to bother porting Linux to ppcle, sure. But what would be the point? This won't let it run anywhere it couldn't already, will it? – SamB Mar 02 '13 at 05:18
8

If you are using Ubuntu, you can download MIPS cross compiler (or any other big-endian architecture that is supported by QEMU, and has a prebuilt cross compiler), and QEMU-user, then compile your code in static linkage, and just run it.

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

and then

mips-linux-gnu-gcc test.c -o test -static
qemu-mips ./test
Kapandaria
  • 533
  • 5
  • 9