#android #assembly #android-ndk #neon
#Android #сборка #android-ndk #neon
Вопрос:
Я новичок в программировании на сборке Neon, я разработал встроенную версию алгоритма обнаружения границ видео Neon, что привело к увеличению производительности в 2 раза. Теперь я хотел бы попробовать сборку Neon — я хотел бы просмотреть код сборки, сгенерированный компилятором для встроенной версии Neon, и попробовать свою собственную сборку Neon. Мой вопрос в том, как просмотреть код сборки, сгенерированный компилятором для встроенного оптимизированного кода Neon в Android NDK?
Когда я попытался
objdump -d kalifilters-встроенные фильтры.o
kalifilters-intrinsics.o: формат файла elf32-little
objdump: невозможно разобрать для неизвестной архитектуры!
Я знаю о сбое objdump, поскольку объектный файл предназначен для архитектуры arm, пожалуйста, сообщите мне об инструменте objdump, связанном с arm!
Ответ №1:
NDK включает двоичные файлы objdump, зависящие от архитектуры:
$ find ./ -iname *objdump*|grep arm
./toolchains/arm-linux-androideabi-4.6/prebuilt/windows-x86_64/arm-linux-android
eabi/bin/objdump.exe
./toolchains/arm-linux-androideabi-4.6/prebuilt/windows-x86_64/bin/arm-linux-and
roideabi-objdump.exe
./toolchains/arm-linux-androideabi-4.8/prebuilt/windows-x86_64/arm-linux-android
eabi/bin/objdump.exe
./toolchains/arm-linux-androideabi-4.8/prebuilt/windows-x86_64/bin/arm-linux-and
roideabi-objdump.exe
Комментарии:
1. @ Hans Kratz Спасибо за ваш ответ, он решил мою проблему
Ответ №2:
Я рекомендую IDA Pro для этой цели :
https://www.hex-rays.com/products/ida/
Просто перетащите файл .o / .so в IDA, и вы получите дизассемблирование во вполне читаемом формате.
Просто нет ничего лучше этого. Существует также версия Linux, а также OS X.
Комментарии:
1. Здорово, что они поддерживают так много вариантов ARM. Пробная версия загрузила мой ARMv7
.so
, никаких проблем.