【问题标题】:Assembly code for Neon Intrinsic VersionNeon Intrinsic 版本的汇编代码
【发布时间】:2014-06-30 10:14:29
【问题描述】:

我是 Neon Assembly 编程的新手,我开发了 Neon Intrinsic 版本的视频边缘检测算法,它获得了 2 倍的性能。现在我想尝试 Neon 程序集 - 我想查看编译器为 Neon Intrinsic 生成的程序集代码并尝试我自己的 Neon 程序集。我的问题是如何查看Android NDK中Neon Intrinsic优化代码编译器生成的汇编代码?

当我尝试时

objdump -d kalifilters-intrinsics.o

kalifilters-intrinsics.o:文件格式elf32-little

objdump:无法为 UNKNOWN 架构反汇编!

我知道 objdump 失败,因为目标文件是 arm 架构的意思,请告诉我 arm 相关的 objdump 工具!

【问题讨论】:

    标签: android assembly android-ndk neon


    【解决方案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
    

    【讨论】:

    • @Hans Kratz 感谢您的回答,它解决了我的问题
    【解决方案2】:

    为此我推荐 IDA Pro:

    https://www.hex-rays.com/products/ida/

    只需将 .o / .so 文件拖到 IDA 中,您将获得可读格式的反汇编。

    没有比这更好的了。还有一个 Linux 版本以及 OS X。

    【讨论】:

    • 很高兴他们支持这么多 ARM 变体。评估版加载了我的ARMv7.so,没问题。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-08-11
    • 2016-04-28
    • 2021-12-11
    • 1970-01-01
    • 2013-01-22
    • 1970-01-01
    相关资源
    最近更新 更多