问题描述
所以通过查询sysctlbyname("hw.cpusubtype", ...)
,很容易确定iOS设备运行的CPU类型,但似乎没有明显的方法来计算了解 CPU 实际具有的功能(想想 VFP、NEON、Thumb 等).有人能想出办法做到这一点吗?
So it's fairly easy to figure out what kind of CPU an iOS device runs by querying sysctlbyname("hw.cpusubtype", ...)
, but there seems to be no obvious way to figure out what features the CPU actually has (think VFP, NEON, Thumb, ...). Can someone think of a way to do this?
基本上,我需要的是类似于 Linux/Android 上的 getauxval(AT_HWCAP)
的东西,它返回 CPU 支持的功能的位掩码.
Basically, what I need is something similar to getauxval(AT_HWCAP)
on Linux/Android, which returns a bit mask of features supported by the CPU.
需要注意的几点:
- 信息必须在运行时从操作系统中检索.没有预处理器定义.
- 胖二进制文件不是解决方案.我真的确实需要了解 ARM v6 二进制文件中的这些内容.
- The information must be retrieved at runtime from the OS. No preprocessor defines.
- Fat binaries is not a solution. I really do need to know this stuff in an ARM v6 binary.
提前致谢!
推荐答案
sysctlbyname
有hw.optional.neon".我没有看到 VFP 的名称,除了hw.optional.vfp_shortvector",这是一个已弃用的功能.
sysctlbyname
has "hw.optional.neon". I do not see a name for VFP, except "hw.optional.vfp_shortvector", which is a deprecated feature.
这篇关于有没有办法在运行时在 iOS 上检测 VFP/NEON/Thumb/...?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!