Mac OSX 32 位或 64 位

Him*_*lay 5 64-bit macos

我跟着这篇文章... http://support.apple.com/kb/HT3696发现

Processor name: IntelCore i7 
Run Code Online (Sandbox Code Playgroud)

这意味着它是 64 位。

但是,当我在终端中执行“uname -a”时,结果似乎是矛盾的。

MYMACHINE:~ himalay$ uname -a
Darwin MYMACHINE 10.8.0 Darwin Kernel Version 10.8.0: Tue Jun  7 16:33:36 PDT 2011; root:xnu-1504.15.3~1/RELEASE_I386 i386
Run Code Online (Sandbox Code Playgroud)

也通过 perl 它是一样的..

MYMACHINE:~ himalay$ perl -V:myarchname
myarchname='i386-darwin';
Run Code Online (Sandbox Code Playgroud)

据我所知,i386 是 32 位的。有人可以澄清这一点。谢谢你。

jus*_*tin 13

简而言之,现代版本的 OS X 能够运行 32 位和 64 位可执行文件(应用程序、命令行工具等)。这些可执行文件可能作为“胖”可执行文件分发,其中包含作为 32 或 64 位进程运行的可执行文件。OS X 在这方面提供了双重性,其他操作系统对它们运行、加载和构建的二进制文件更加严格。

在 OS X 中,您可以拥有兼容 64 位的 Intel 处理器。您的内核可以运行在 32 位或 64 位,而您的程序可以运行在 32 或 64 位。这取决于您的配置以及程序/扩展/库的构建方式。

基本上,您的困惑来自硬件功能与您所查询的正在运行的软件模式之间的差异。您的处理器/硬件能够运行 64 位可执行文件,但您已查询活动 32 位进程的状态。