Меня попросили оценить платформу Android для нашего продукта, и я смотрю на различные варианты, я только что царапаю поверхность сейчас и одну вещь, которая беспокоит меня, то, что я не вижу, как скомпилировать код как прямой код ARM (никакой Ползунок), я знаю, что Ползунок работает медленнее, и нам будет нужна производительность в ключевых разделах нашего кода.
Я думаю, что это должно просто устанавливать -march
флаг в LOCAL_CFLAGS
из Android.mk
файл, но я не могу заставить это работать...
Кто-либо может помочь?
Вы можете использовать ARM, Thumb или их сочетание.
В make-файле в LOCAL_SRC_FILES
, где вы должны указать MyFile.c
, укажите MyFile.c.arm
(не переименовывайте файл на диске , просто сделайте это в списке исходных файлов). Это соглашение используется во всем Android для кода, который критичен к производительности (или просто по какой-то причине должен быть ARM).
Разумеется, применяются обычные примечания: код Thumb обычно требует большего количества инструкций для выполнения чего-либо, но каждая инструкция вдвое меньше, поэтому код обычно немного медленнее, но также немного меньше. В некоторых ситуациях меньший размер позволяет лучше использовать (крошечные) кеши в процессорах ARM и на самом деле может быть быстрее.