原创文章 - 转载注明出处:http://blog.youkuaiyun.com/abnerchai/ E-mail: ajaxchai@gmail.com
大家都知道Android是基于Linux构建的一个框架(framework),而他底层真正的系统还是Linux,那么我们是否可以设计直接可以运行于底层Linux系统的可执行程序(process)呢,答案是肯定的,本文就举一个例子来说明这个做法。这个例子要达到的效果是检测Android手机CPU的能力(当然要达到这个目的,有很多方法,如直接查看cat /proc/cpuinfo即可,但是本文以此为例想达到2个目的:一、利用NDK自带的工具编写动态监测CPU能力的程序;二、演示如何利用NDK编写直接运行于linux的进程):
1)首先看手机使用的CPU是否是arm体系结构的CPU,因为google 要和Intel合作了,X86体系的也要出来了;
2) 查看Android手机CPU有几个核,是多核还是单核?
3)查看手机CPU是否支持ARM的NEON技术,是否支持VFPv3指令集,是否是ARMv7体系结构(注意ARMv7是指ARM 的 CPU架构的Version7, 他和ARM7是完全不一样的概念)。
闲话少说,按照如下步骤一步一步来:
1)在自己的工作空间(workspace,如/root/workspace)中建一个目录cpudetect,用了存放这个project;然后再在cpudetect下建一个jni目录,我们的C程序就放在jni目录下;
2)在jn