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 <arm_neon.h>

改为

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

然后编译

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

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

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Android 自定义View的各种姿势1 Activity的显示之ViewRootImpl详解 Activity...
    passiontim阅读 175,901评论 25 709
  • Android游戏开发实践(1)之NDK与JNI开发02 承接上篇Android游戏开发实践(1)之NDK与JNI...
    AlphaGL阅读 9,163评论 0 24
  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 135,800评论 19 139
  • 01. “妈妈给我买了一双耐克球鞋”上了微博的热搜,讲的是一个贫困生因为妈妈攒钱给他买了双打四折的耐克球鞋,而被同...
    张小呆阅读 3,833评论 16 16
  • 不知什么时候开始,不再主动跟家人谈论TA,也害怕家人总问起TA,关心TA。 奶奶和妈妈都是聪明人...
    秋起念秋阅读 1,917评论 0 1