我来自Windows开发。我知道二进制可以是 32 位或 64 位。但不是两者兼而有之。而且在 64 位平台上,我可以运行 32 位二进制文件,反之则不行。
在 mac 中,我看到了像 i386 x86_64 这样的组合架构,这让我有点惊讶。为什么以及何时我们针对这种架构的 mac osx 上的应用程序,这样做有什么好处?为什么不是只有 32 位,根据我对 Windows 的理解,它可以在 32 位和 64 位上运行?
我来自Windows开发。我知道二进制可以是 32 位或 64 位。但不是两者兼而有之。而且在 64 位平台上,我可以运行 32 位二进制文件,反之则不行。
在 mac 中,我看到了像 i386 x86_64 这样的组合架构,这让我有点惊讶。为什么以及何时我们针对这种架构的 mac osx 上的应用程序,这样做有什么好处?为什么不是只有 32 位,根据我对 Windows 的理解,它可以在 32 位和 64 位上运行?
这并不是说代码是为“混合”架构编译的——只是它是为多个架构编译的。
为 32 位和 64 位编译它的原因是 64 位程序在 64 位架构(大多数现代 Mac)上的性能通常比 32 位程序更好。