使用NEON對代碼進行優化時需要#include <arm_neon.h>
。NEON庫只支持armeabi-v7a和x86 ABIs. 所以在使用ndk-build
編譯帶有NEON優化代碼的庫時需要對Android.mk進行編譯平臺的指定。具體方式如下。
# define a static library containing our NEON code
ifeq ($(TARGET_ARCH_ABI),$(filter $(TARGET_ARCH_ABI), armeabi-v7a x86))
include $(CLEAR_VARS)
LOCAL_MODULE := mylib-neon
LOCAL_SRC_FILES := mylib-neon.c
LOCAL_ARM_NEON := true
include $(BUILD_STATIC_LIBRARY)
endif # TARGET_ARCH_ABI == armeabi-v7a || x86
Reference:
https://developer.android.com/ndk/guides/cpu-arm-neon.html#rd