为什么 uname -p 和 uname -m 和 arch 输出不同的架构?

use*_*607 5 computer-architecture macos

在山狮上(2010 年末)

$ uname -p
i386
$ uname -m
x86_64
$ arch
i386
Run Code Online (Sandbox Code Playgroud)

因此,machine hardware name根据 uname 手册页,i368(32 位)是我的处理器架构,而 x86_64(64 位)是我的处理器架构。那么为什么uname 和arch 会产生这样的结果呢?究竟是machine hardware name什么?

use*_*607 7

我找到了这个链接,Re: Mac OS X Snow Leopard and 64-bit applications,它说:

arch并且uname -p都返回处理器系列类型 i386。(相对于 ppc 或 arm。)?我认为理由是太多的脚本依赖于这种行为。

uname -m 告诉您从哪个 xnu 片启动,即 x86_64 用于 64 位内核,i386 用于 32 位内核。

不幸的是,短语 i386 有两个含义。

这澄清了这个问题。