2012-12-21 38 views
0

我正在爲我的代碼執行一些基於NEON的SIMD化過程。 它完美罰款出來SIMDization,但添加下面一行在makefile導致其崩潰,爲什麼Android在啓用NEON SIMDization時崩潰?信號11(SIGSEGV),代碼1(SEGV_MAPERR)

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

是否有人可以幫助識別僅僅是促成與代碼其餘完全一樣NEON爲什麼會崩潰?

問候, Subhransu

+0

是否有可能在沒有NEON支持的設備上運行它?你不分享任何關於你的代碼的事情,所以在這一點上它可能是很多事情。 – auselen

+0

你解決了嗎?我現在也遇到同樣的問題! – nmxprime

回答

0

首先檢查你的處理器的功能,看它是否真正具有NEON,

並非所有的ARMv7-基於Android的設備將支持氖燈

可以查閱處理器數據表。

這也許是你的源代碼,根據有關文件,

當你LOCAL_SRC_FILES變量列表來源的文件,你現在 必須使用.neon後綴的選項,以指示要 相應將使用Neon支持構建源代碼。例如:

LOCAL_SRC_FILES:= foo.c.neon bar.c

只會打造 'foo.c的' 與NEON支持。

for build,are you targeting armeabi-v7a ABI?您可以通過

ifeq ($(TARGET_ARCH_ABI),armeabi-v7a) 

檢查它在你的Android.mk 因此,檢查所有這些因素,看看是什麼導致崩潰

NDK的例子是一個很好的來源入手,看看它。 祝你好運

相關問題