neon优化实践

1 平台

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

2 开发工具Android NDK

在NDK官网
https://developer.android.google.cn/ndk/downloads/index.html
下载Linux版的NDK,然后解压,得到
/home/jingao/work/android-ndk-r14b
添加环境变量并使环境变量立即生效

sudo gedit ~/.bashrc

在文件尾添加以下内容:

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

使环境变量生效

source ~/.bashrc

在shell 中输入ndk-build,没有出现command not found则表明安装成功。

3 编译

将makefile中的NDK_BASE设置为NDK的路径,即/home/jingao/work/android-ndk-r14b,然后编译

make clean 
make all

生成了可执行文件main,然而只能在arm手机上运行。

4 编译为SSE

可以将neon代码编译为SSE版本,就可以在pc上运行。具体做法为
(1) 在工程中增加头文件NEONvsSSE.h
(2) 在main.c中将

#include 

改为

//#include 
#include "NEONvsSSE.h"

然后编译

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

得到可执行文件a.out,可以在pc上运行。

你可能感兴趣的:(neon优化实践)