我正在为我的代码做一些基于NEON的SIMD化。 它完全可以完成SIMDization,但在makefile中添加以下一行会导致崩溃,
ifeq ($(TARGET_ARCH_ABI),armeabi-v7a)
LOCAL_ARM_NEON := true
endif
有人可以通过启用NEON并保持完全相同的代码来帮助确定崩溃的原因吗?
此致 Subhransu
答案 0 :(得分:0)
首先检查您的处理器功能,看看它是否真的有NEON,
并非所有基于ARMv7的Android设备都将支持
您可以查看处理器数据表。
根据文件,这可能是你的源代码,
当您在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示例是一个很好的启动源,看看它。 祝你好运