Код сборки для встроенной версии Neon

#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 , никаких проблем.