Я пытался выяснить, какую архитектуру процессора мне нужен MacBook, и выяснить, почему NASM не работает с x86_64 gcc. Команда arch вернула i386. Тем не менее, я могу запускать бинарные файлы i386 и x86_64, и, согласно System Info, у меня 64-разрядный процессор (Intel i7). Не только это, но когда я запускаю lipo -info в /usr/bin/arch, он говорит, что это полный файл с архитектурой i386 и x86_64. Если я не запускаю систему i386, почему арка говорит, что я?
Неверная команда OS X
Ответ 1
К сожалению, это просто способ arch
работает на OS X. С текущими системами OS X arch
сообщает i386
для архитектур Intel, которые могут запускать 32-разрядные; он не говорит вам, могут ли они запускать 64-битные или нет. Поведение, похоже, является наследием того, когда arch
использовалось для различения между платформами ppc
и i386
, когда поддержка Intel была впервые представлена в OS X. Из командной строки более подробная информация доступна с system_profiler
; см. man 8 system_profiler
для более подробной информации.