苹果用Mach-O的文件格式,本身就支持单文件、多架构,就是所谓的“universal binaries”。
比如一个可执行文件可以同时包含PPC、x86、x64、ARMv6、ARMv7等代码,在对应平台上(PPC Mac OS、x86/x64 Mac OS、iOS)自动根据当前环境装载相应的代码段,包括内核都是的这种模式(Mac OS的mach-kernel可以同时包括32、64位)。
Linux现在主要用ELF格式,目前还不支持这种架构,但是已经有人在做这方面的扩展规范(之前看过一个FatELF),只是还没发展到实用阶段。