0

我正在对我的代码进行一些基于 NEON 的 SIMDization。没有 SIMDization 它工作得很好,但是在 makefile 中添加以下一行会导致它崩溃,

ifeq ($(TARGET_ARCH_ABI),armeabi-v7a)
    LOCAL_ARM_NEON := true
endif

有人可以通过启用 NEON 来帮助确定它为什么会崩溃,并且代码保持完全相同吗?

问候, Subhransu

4

1 回答 1

0

首先检查你的处理器特性,看看它是否真的有NEON,

并非所有基于 ARMv7 的 Android 设备都支持 NEON

您可以查看处理器数据表。

根据文件,这可能是您的源代码,

在您的 LOCAL_SRC_FILES 变量中列出源文件时,您现在可以选择使用 .neon 后缀来指示您希望使用 Neon 支持构建相应的源。例如:

LOCAL_SRC_FILES := foo.c.neon bar.c

只会在 NEON 支持下构建“foo.c”。

对于构建,您的目标是 armeabi-v7a ABI 吗?你可以在你的 Android.mk 中检查它

ifeq ($(TARGET_ARCH_ABI),armeabi-v7a)

所以检查所有这些因素,看看是什么导致了崩溃

NDK 示例是一个很好的入门资源,请看一下。祝你好运

于 2012-12-22T13:40:19.707 回答