i5는 64 비트 프로세서 여야합니다. this video에 따르면 터미널 i에 uname -m
을 입력하면 x86_64를 얻어야합니다. 하지만 제 경우에는 대신 i386이라고 말합니다. 그게 왜? 나는 또한 64 비트 전용 앱인 앱을 개발했다. 해당 응용 프로그램이이 Mac에서 실행되지 않습니다. 시작시 충돌이 발생합니다. 하지만 64 비트 대신 x86_64 모드로 컴파일하면 작동합니다. 누군가이 문제를 해결하는 방법에 대한 아이디어가 있습니까?32 비트 Mac에서 실행중인 64 비트 프로세서 <a href="http://support.apple.com/kb/HT3696?viewlocale=it_IT&locale=it_IT" rel="nofollow">apple's mac processor list</a>에 따라
답변
ARC는 32 비트 런타임에서 지원되지 않습니다. 따라서 ARC를 사용하는 경우 64 비트 바이너리 만 생성해야합니다. Transitioning to ARC Release Notes 가입일
:
는 는은 ARC 5. 약 참조 OS X 10.6 및 v10.7 (64 비트 애플리케이션)에 대한 및 iOS 4 iOS 용 엑스 코드 4.2 지원 지원되지 OS의 X 10.6 및 iOS 4에
고맙지 만 내 질문은 기본적으로 : 프로세서가 i5 인 경우 왜 64 비트 전용 응용 프로그램을 실행하지 않지만 32/64 비트 응용 프로그램을 성공적으로 실행합니까? – sharkyenergy
OSX가 32 비트 모드로 부팅 된 경우 64 비트 바이너리 대신 32 비트 바이너리가 사용됩니다. 64 비트 모드로 부팅하면 64 비트를 대신 사용합니다. – trojanfoe
64 비트 모드로 영구적으로 부팅 할 때 단점이 있습니까? 당신의 도움을 주셔서 감사합니다! – sharkyenergy
비디오는 잘못 : 커널은 당신과 같은 유저 랜드 프로그램과는 거의 상관이있는에 실행되는 어떤 모드 uname -m
당신을 알려줍니다. CPU가 64 비트 가능 여부를 확인하려면 sysctl hw.cpu64bit_capable
을 사용하십시오. i5가 있으므로 hw.cpu64bit_capable: 1
을 "예"(0은 "아니오"를 의미)로 인쇄해야합니다. 또한 Activity Monitor 유틸리티를 실행하고 다양한 프로세스가 실행중인 모드를 기록하십시오. 10.6에서 OS X에서 제공되는 대부분의 프로그램이 32 비트로 제공 되었기 때문에 많은 것들이 "Intel (64 비트)"에 포함될 것입니다./64 비트 이중 아키텍처를 지원하며 64 비트를 선호합니다.
이제 응용 프로그램에 대해 : 64 비트 만 또는 63/64를 컴파일 할 때 64 비트 모드로 실행해야하므로 문제가 될 수 있습니다. 확실히 32/64를 컴파일하고 실행 한 다음 Activity Monitor를 사용하여 실제로 실행중인 모드를 확인하십시오.
확실히 말할 수는 없지만 내 생각 엔 앱에 문제가 있다는 것입니다. 호. 필자가 이해하는 한, 64 비트 만 컴파일하면 (32/64를 컴파일 할 경우 비활성화 됨) 활성화됩니다.
대단히 감사합니다! 나는 이전 Mac에 xcode 4.2를 설치하려고 시도했는데 CFNetwork.framework에 대한 오류가 발생한 프로젝트를로드했을 때. (xcode 4.6에서이 오류가 발생하지 않음) 어쨌든 당신의 tipps에 감사드립니다! ARC를 사용하지 않도록주의를 기울여야합니까? 감사! – sharkyenergy
@Justme : 안타깝게도 ARC에 익숙하지 않습니다 (그리고 내가 모르는 컴파일 모드 사이에 다른 차이가있을 수 있습니다). 기본 디버깅에 대해 다시 생각해 볼 것을 제안합니다. 충돌 로그를 확인하고, 디버거에서 실행하고, 누수 등을 찾으십시오. –
"64 비트 전용"이란 무엇입니까? x86_64는 64 비트 전용입니다. –
x86_64 **는 ** 64 비트입니다. – trojanfoe
http://support.apple.com/kb/HT3773 및 http://support.apple.com/kb/HT3770 – robertklep