#android #android-ndk #android-3.0-honeycomb
#Android #android-ndk #android-3.0-honeycomb
Вопрос:
У меня есть проект NDK, который на ранней стадии вызывает android_getCpuFeatures. Это отлично работает на всех телефонах, которые я тестировал, но на планшете Honeycomb это просто сбой (в Logcat не так много информации, кроме того, что произошел жесткий сбой).
Это связано с r5b NDK, использующим новый, предпочтительный способ подключения функций процессора.
Ответ №1:
Я думаю, что это не ответ, но вы можете исследовать его с помощью исходного кода (cpu-features.c, cpu-features.h).
android_getCpuFeatures просто проверяет строки, взятые из / proc / cpuinfo, это нормально для любого ядра Android.
Комментарии:
1. Тайна раскрыта, благодаря вашему совету: согласно / proc / cpuinfo, планшет на базе Tegra 2 не поддерживает NEON! Я скомпилировал свое приложение для NEON. На самом деле я не использовал никаких типов NEON или встроенных функций, но я предполагаю, что компилятор оптимизировал некоторый код для использования NEON.
2. В Tegra 2 также нет регистров VFPv3-D32. Таким образом, некоторые инструкции armv7-a-neon с плавающей запятой, такие как инструкция деления, не работают. armv7-a — лучший тип arch для Tegra 2.