32位应用程序如何在64位Mac上运行?
我正在尝试收集一些有关 32 位应用程序如何在 64 位 Mac 上工作/运行的详细信息,因此编写的汇编代码是否会考虑 64 位工作?
I am trying to gather some details about how its possible that 32 bit applications work/run on 64 bit Mac and thus will assembly code written considering 64 bit work?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
你的问题很模糊。我将尝试澄清一些事情:
所有最新的 Mac 都有一个支持 32 位和 64 位执行模式的处理器。
OS X 内核可以在此类处理器上以 32 位或 64 位模式运行。在 10.6 及更早版本中,内核默认以 32 位模式运行。在10.7中,内核默认以64位模式运行。
应用程序及其相关库可以支持在 32 位、64 位或两者中运行。这与内核是否以 64 位运行完全独立(即:可以在 32 位内核上运行 64 位应用程序,也可以在 64 位内核上运行 32 位应用程序)。
这样做的最终效果是,您可以为 32 位或 64 位编写代码,并且无论内核在做什么,它都可以工作。也就是说,您的应用程序必须与其自身同步;您不能在单个进程中混合使用 32 位和 64 位代码。
Your question is very vague. I'll try to clear things up somewhat:
Any recent Mac has a processor that supports both 32-bit and 64-bit execution modes.
The OS X kernel can run in either 32- or 64-bit mode on such a processor. In 10.6 and earlier, the default was for the kernel to run in 32-bit mode. In 10.7, the kernel runs in 64-bit mode by default.
An application and its related libraries can support running in either 32-bit, 64-bit or both. This is completely separate from whether or not the kernel is running in 64-bit (that is: you can run 64-bit applications on a 32-bit kernel, and you can run 32-bit applications on a 64-bit kernel).
The net effect of this is that you can write your code for either 32-bit or 64-bit, and it will work, regardless of what the kernel is doing. That said, your application must be in sync with itself; you cannot mix 32-bit and 64-bit code within a single process.