2014-12-08 33 views
1

我有一个静态库提供给我,我需要在应用程序中使用。我被告知它支持ARM64。mach头和fat头有什么区别?

当我使用otool -hV mylibrary.a列出mach标题时,那么CPU类型只能得到x86_64

当我使用otool -fv mylibrary-a列出fat头时,则获得CPU类型I386,x86_64,ARM,ARMv7S。 ARM64。

这是我的理解,我需要我将运行的架构mach标头。但是,该应用程序在64位设备上正常工作。

iOS开发中fat头文件和mach头文件有什么区别?这个库可以安全地用于64位应用程序吗?

回答

1

mach标头和通用标头提供了类似的信息。他们确定了cputype和cpusubtype等内容。通用标题还指示每个体系结构的文件偏移/大小。我相信通用头文件是从mach头文件中获取信息的,但我可能很容易出错。

如果你只看到x86_64的,尽量otool -hv -arch all myLibrary.a

FWIW,一个更简单的方法是做lipo -info myLibrary.a。如果你看到你需要的切片,你应该很好地去,只要图书馆本身在这个切片上正常工作。

相关问题