因此,通过查询
基本上,我需要类似于Linux/Android上的
需要注意的几点:
sysctlbyname("hw.cpusubtype", ...)
,很容易确定iOS设备所运行的CPU类型,但似乎没有明显的方法来确定CPU实际具有的功能(如VFP、NEON、Thumb等)。有人能想到一种方法吗?基本上,我需要类似于Linux/Android上的
getauxval(AT_HWCAP)
的东西,它返回由CPU支持的特性的位掩码。需要注意的几点:
- 必须从操作系统中在运行时检索信息,不能使用预处理器定义。
- Fat二进制文件不是解决方案。我真的需要在ARM v6二进制文件中了解这些内容。
man sysctl
,但没有发现什么有用的信息。使用fat二进制文件不是解决方案的原因是:(a)它会显著增加文件大小;(b)确定在应用程序中使用哪些架构版本实际上不是由我决定的,而是由客户决定的。因此,如果他们选择要有一个ARM v6二进制文件,那个二进制文件必须能够在v7和v7s上运行。同样,带有ARM v6和v7s代码的fat二进制文件必须能够在v7上运行,以此类推。 - user438034UIDevice
类检测您所在的设备以检索可用功能列表。 - mbrenon