Macos Mac架构问题

Macos Mac架构问题,macos,osx-lion,osx-snow-leopard,32bit-64bit,Macos,Osx Lion,Osx Snow Leopard,32bit 64bit,大家好:)我是为Mac开发应用程序的新手。我的问题集中在Mac的不同操作系统架构上,对此我感到非常困惑。如果我的问题很便宜,请耐心听我说。谢谢大家:) 我知道10.6(SnowLeopard)支持32位。我想知道10.7(Lion)是否有32位支持 我有一台64位的机器。我想要一个32位的10.7。我该怎么做 我有一个32位的iMac,里面有10.6.8。我已经在上面建立了一个应用程序;该应用程序使用用户开发的库,也是32位的。现在我将这个应用程序移植到另一台Mac机器上,它有一个64位处理器和

大家好:)我是为Mac开发应用程序的新手。我的问题集中在Mac的不同操作系统架构上,对此我感到非常困惑。如果我的问题很便宜,请耐心听我说。谢谢大家:)

  • 我知道10.6(SnowLeopard)支持32位。我想知道10.7(Lion)是否有32位支持

  • 我有一台64位的机器。我想要一个32位的10.7。我该怎么做

  • 我有一个32位的iMac,里面有10.6.8。我已经在上面建立了一个应用程序;该应用程序使用用户开发的库,也是32位的。现在我将这个应用程序移植到另一台Mac机器上,它有一个64位处理器和10.7(Lion)。我是否能够执行与10.7(Lion)中相同的应用程序??我不能这样做

  • OS X使用二进制格式,可在单个可执行文件或库中支持多种体系结构(例如32位和64位Intel,以及PowerPC等)。Lion中的大多数二进制文件和库都是双体系结构的32位和64位Intel。所以,是的,Lion中有32位支持

  • 没有32位的狮子;它是一个双体系结构的操作系统。它可以以32位或64位模式引导内核,并以32位或64位模式运行程序。与大多数其他操作系统不同,它甚至可以在32位内核下以64位模式运行程序。无论何时在Lion中运行程序,它都会检查程序包含的体系结构以及CPU的能力,并选择“最佳”模式来运行该程序

  • 没有明显的理由这不起作用。如果您试图使用以64位模式运行的程序中的仅32位库,或者使用以32位模式运行的程序中的仅64位库,则会失败。但是,如果程序仅为32位,那么它显然会在该模式下运行,用户开发的库是32位的,并且操作系统提供的所有库都是32+64位的

    有一些事情可能会导致您的32位程序在Lion下失败。首先,它是否依赖于除您提到的库和随操作系统提供的库之外的任何库(例如,由MacPorts、Fink或Homebrew等本地编译的库)?如果是这样,这些库可能只编译了64位。应该始终为所有相关的体系结构编译IMO库,以避免此类问题,但这不是默认情况

    另一个可能的问题是,如果你的程序不是一个真正的程序,而是加载到另一个程序中的东西(例如某种插件、屏幕保护程序等)。在这种情况下,你的插件需要支持程序运行的任何模式。实际上,Java程序可能会遇到这个问题,因为在Lion中Java运行时将以64位模式启动(当CPU支持它时)

    告诉我们更多关于您的程序以及您遇到的具体错误可能会有很大帮助


  • 我正在使用python脚本来访问32位库。我认为,即使我以32位模式加载OSXLion,python解释器也会加载其64位库,从而导致问题。不管怎样,我跳过了这个问题,走得更远了。非常感谢您的评论,它真的很有用。在这种情况下,您需要在32位模式下运行python解释器,使用类似
    arch-arch i386/System/Library/Frameworks/python.framework/Versions/2.7/Resources/python.app/Contents/MacOS/python