16

我试图弄清楚我的 MacBook 必须使用什么 CPU 架构来尝试找出为什么 NASM 不能与 x86_64 gcc 一起工作。arch 命令返回 i386。但是,我可以运行 i386 和 x86_64 二进制文件,并且根据系统信息,我有一个 64 位 CPU(Intel i7)。不仅如此,当我在 /usr/bin/arch 上运行 lipo -info 时,它说它是一个具有 i386 和 x86_64 架构的胖文件。如果我没有运行 i386 系统,为什么 arch 会说我在运行?

4

1 回答 1

25

不幸的是,这正是 OS X 上的arch工作方式。对于当前的 OS X 系统,arch报告i386了能够运行 32 位的英特尔架构;它不会告诉您它们是否可以运行 64 位。该行为似乎是在 OS X 中首次引入英特尔支持时arch用于区分平台ppci386平台的遗留问题。从命令行中,可以使用system_profiler;获得更详细的信息。更多详细信息,请参阅man 8 system_profiler

于 2012-10-06T20:03:24.093 回答