Android NDK - to podporuje přímou ARM kód nebo jen palec

hlasů
9

Byl jsem požádán, aby zhodnotit platformu Android pro náš výrobek, a já jsem při pohledu na různé možnosti, jsem jen tak poškrábání povrchu právě teď a jedna věc, která mě trápí je, že nevidím, jak zkompilovat kód jako rovný ARM kód (no Thumb), vím, že palec běží pomaleji a budeme potřebovat výkon v klíčových částech našeho kódu.

myslím, že by měl být jen nastavit -marchpříznak v LOCAL_CFLAGStéto Android.mksoubor, ale nemohu dostat, že do práce ...

Může někdo pomoci?

Položena 04/03/2010 v 15:49
zdroj uživatelem
V jiných jazycích...                            


2 odpovědí

hlasů
16

Zadáním následující příznak pro modul v Android.mkzpracuje rovnou ARM kód.

LOCAL_ARM_MODE := arm

Povolení optimalizace může také pomoci:

LOCAL_CFLAGS := -O3
Odpovězeno 06/06/2011 v 00:21
zdroj uživatelem

hlasů
16

Můžete si vytvořit v ruce, palec, nebo kombinace obojího.

V makefile, v LOCAL_SRC_FILES, kde byste uvést MyFile.c, určit MyFile.c.arm(ne-li přejmenovat soubor na disku, udělej to v seznamu zdrojových souborů). Tato konvence se používá v celé Android pro kód, který je výkon kritické (nebo jen třeba ARM z nějakého důvodu).

Obvyklé poznámky platí, samozřejmě: Thumb kód inklinuje vyžadovat více instrukcí něčeho dosáhnout, ale každá instrukce je o polovinu menší, takže kód je obvykle o něco pomalejší, ale také spravedlivý trochu menší. V některých situacích menší rozměry umožňují lepší přizpůsobení se (malé) cache v ARM procesorů, a mohl by být ve skutečnosti vyšší.

Odpovězeno 19/03/2010 v 21:55
zdroj uživatelem

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more