2017-04-21 6 views
8

私は実行中のCPUの機能に基づいて実行時にどの実装を選択するか、複数の実装を持ついくつかの暗号化コードを持っています。これまでの移植は簡単でしたが、Windows、Linux、Androidは簡単です。iOSでCPU機能を検出するAPIはありますか?

しかし、iOSでは簡単ではないようです。 x86 CPUは機能を検出するためにcpuid命令を持っていますが、ユーザーモードであってもARMと同等の特権があります。 OSの協力なしにARM上のCPU機能を検出することはできません。

Windowsでは、IsProcessorFeaturePresentがARM CPU機能の検出に使用されます。 Linuxでは、/proc/cpuinfoが行く方法です。 Androidにはcpufeaturesのライブラリがあります(とにかく/proc/cpuinfoはまだ動作します)。 Mac OSはsysctlbynamehw.optional.*です。

しかし、iOSについてはどうですか? iOSカーネルにはMac OSのようにhw.optional.*がありますが、iOS 10ではlocked downです。(したがって、私の質問はthis oneと重複していません)また、それらのリストを取得するのは難しいようです。AppleのオープンソースWeb jailbreakersをもっと難しくするために、OSのソースからARM固有のコードをすべてスクラブする自動化プロセスを実行します。

答えて

0

iOSsysctlAPIあなたは、その機能を引き出すことができ、そこから電子CPUモデルミリアンペア、を含むシステムの多くの情報を取得することができます。 Hereは、とsysctlを使用した場合の素晴らしい記事です。

また、SystemKitPFSystemKitライブラリをご覧ください。

関連する問題