neon優(yōu)化實踐

1 平臺

在win上安裝vmware,在vmware上安裝Ubuntu。

2 開發(fā)工具Android NDK

在NDK官網(wǎng)
https://developer.android.google.cn/ndk/downloads/index.html
下載Linux版的NDK,然后解壓,得到
/home/jingao/work/android-ndk-r14b
添加環(huán)境變量并使環(huán)境變量立即生效

sudo gedit ~/.bashrc

在文件尾添加以下內(nèi)容:

export NDK=/home/jingao/work/android-ndk-r14b
export PATH=${PATH}:$NDK

使環(huán)境變量生效

source ~/.bashrc

在shell 中輸入ndk-build,沒有出現(xiàn)command not found則表明安裝成功。

3 編譯

將makefile中的NDK_BASE設(shè)置為NDK的路徑,即/home/jingao/work/android-ndk-r14b,然后編譯

make clean 
make all

生成了可執(zhí)行文件main,然而只能在arm手機上運行。

4 編譯為SSE

可以將neon代碼編譯為SSE版本,就可以在pc上運行。具體做法為
(1) 在工程中增加頭文件NEONvsSSE.h
(2) 在main.c中將

#include <arm_neon.h>

改為

//#include <arm_neon.h>
#include "NEONvsSSE.h"

然后編譯

gcc -Wall -march=core-avx2 -mmmx -o a.out main.c

得到可執(zhí)行文件a.out,可以在pc上運行。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容