10

私は私たちの製品のAndroidプラットフォームを評価するように頼まれました、そして私はさまざまなオプションを見ています、私はちょうど今表面を引っ掻いているだけです、そして私を悩ませている1つのことはコードをまっすぐなARMコードとしてコンパイルする方法を見ることができないということです(Thumbなし)、Thumbの実行速度が遅く、コードの主要なセクションでパフォーマンスが必要になることはわかっています。

ファイルのフラグを設定するだけでよいと思いますが、それを機能させることはできません...-marchLOCAL_CFLAGSAndroid.mk

誰か助けてもらえますか?

4

2 に答える 2

16

ARM、Thumb、または 2 つの組み合わせでビルドできます。

makefile で、LOCAL_SRC_FILESをリストする場所MyFile.cに指定しますMyFile.c.arm(ディスク上のファイルの名前を変更しないでください。ソース ファイルのリストで行うだけです)。この規則は、Android 全体で、パフォーマンスが重要なコード (または何らかの理由で ARM である必要があるコード) に使用されます。

もちろん、通常の注意事項が適用されます。Thum コードは、何かを達成するために多くの命令を必要とする傾向がありますが、各命令のサイズは半分であるため、通常、コードは少し遅くなりますが、かなり小さくなります。状況によっては、サイズが小さいほど ARM CPU の (小さな) キャッシュにより適合し、実際には高速になる可能性があります。

于 2010-03-19T20:55:50.427 に答える
16

モジュールに次のフラグを指定するAndroid.mkと、ストレート ARM コードがコンパイルされます。

LOCAL_ARM_MODE := arm

最適化を有効にすることも役立つ場合があります。

LOCAL_CFLAGS := -O3
于 2011-06-05T23:21:53.313 に答える