【发布时间】:2014-07-19 01:10:04
【问题描述】:
我想根据目标架构是否编写代码,例如armv7、armv7s 或 arm64。
我不能使用sysctlbyname 的原因是这会给我运行时的底层架构,但是当 arm64 例如模拟 armv7,sysctl(貌似)仍然报告 arm64。
【问题讨论】:
-
为什么会有问题?根据定义,64 位代码知道它在 AArch64 状态的 v8 上运行。如果 32 位代码看到“arm64”或任何其他(不准确的)v8 同义词,那么它可以推断它在 AArch32 状态的 v8 上运行。如果您没有在运行时进行动态调度,那么您的目标架构就是您选择编译的任何目标。
-
我要报告目标架构。