当我$ arch
在10.9 2012 MacBook Pro上运行时,得到输出
i386
的联机帮助页上arch
说
the arch command is 2-way universal, 32-bit only
但是,$ file "$(which arch)"
给
/usr/bin/arch: Mach-O universal binary with 2 architectures
/usr/bin/arch (for architecture x86_64): Mach-O 64-bit executable x86_64
/usr/bin/arch (for architecture i386): Mach-O executable i386
OTOH,python2.7
作为64位可执行文件运行:
$ /usr/bin/python2.7 -c 'import sys; print "%x" % sys.maxint'
7fffffffffffffff
另外,内核显然是64位的:
$ file /mach_kernel
/mach_kernel: Mach-O 64-bit executable x86_64
uname
同意:
$ uname -m
x86_64
..还是吗?
$ uname -p
i386
arch
它以32位或64位运行,但是仅报告体系结构是PPC还是Intel [派生],并使用i386
标签而不是来报告Intelintel
。我想这就是“仅2位通用32位”的含义。