2012-11-07 7 views
2

/usr/lib/mach-o에있는 macho 헤더가 다른 iOS 버전 4,5,6 이상의 실행 파일과 역 호환됩니까? 그렇다면 어디서 특정 버전을 구할 수 있습니까? Apple Darwin 사이트에서 검색을 시도했지만 별도의 프로젝트로 유지 관리하지 않았습니다.사나이 헤더는 이전 버전과 호환됩니까?

답변

2

헤더 파일은 호환되지만 iOS 6의 Mach-O 파일은 호환되지 않습니다. LC_UNIXTHREAD load 명령을 LC_MAIN으로 대체했습니다 (otool 및 친구가 인식 할 수없는 몇 가지 다른로드 명령을 추가 함). 이전 버전의 OS에서는). 이것은 마운틴 라이온 바이너리에도 적용됩니다. 동일한 이유로 라이온 또는 이전 버전에서는 실행할 수 없습니다.

+0

iOS에서는 확인하지 않았지만 'LC_UNIXTHREAD'는 MacOS Lion 10.7에'LC_MAIN '이 도입 된 이후에도 계속 유효합니다. 그것은'ld'에 의해 디폴트로 생성되는 것이 아니지만 사용될 수 있습니다. 게다가'dyld' 자체는'LC_UNIXTREAD'에 의지 해 발사 할 수 있어야합니다. –

관련 문제