Android NDK - делает это поддерживает прямой код ARM или просто Ползунок

Меня попросили оценить платформу Android для нашего продукта, и я смотрю на различные варианты, я только что царапаю поверхность сейчас и одну вещь, которая беспокоит меня, то, что я не вижу, как скомпилировать код как прямой код ARM (никакой Ползунок), я знаю, что Ползунок работает медленнее, и нам будет нужна производительность в ключевых разделах нашего кода.

Я думаю, что это должно просто устанавливать -march флаг в LOCAL_CFLAGS из Android.mk файл, но я не могу заставить это работать...

Кто-либо может помочь?

9
задан frogatto 22 May 2016 в 10:40
поделиться

1 ответ

Вы можете использовать ARM, Thumb или их сочетание.

В make-файле в LOCAL_SRC_FILES , где вы должны указать MyFile.c , укажите MyFile.c.arm (не переименовывайте файл на диске , просто сделайте это в списке исходных файлов). Это соглашение используется во всем Android для кода, который критичен к производительности (или просто по какой-то причине должен быть ARM).

Разумеется, применяются обычные примечания: код Thumb обычно требует большего количества инструкций для выполнения чего-либо, но каждая инструкция вдвое меньше, поэтому код обычно немного медленнее, но также немного меньше. В некоторых ситуациях меньший размер позволяет лучше использовать (крошечные) кеши в процессорах ARM и на самом деле может быть быстрее.

16
ответ дан 4 December 2019 в 07:04
поделиться
Другие вопросы по тегам:

Похожие вопросы: