ABI与ARM,X86的概念

Android系统目前支持以下七种不同的CPU架构:ARMv5,ARMv7 (从2010年起),x86 (从2011年起),MIPS (从2012年起),ARMv8,MIPS64和x86_64 (从2014年起),每一种都关联着一个相应的ABI。

应用程序二进制接口ABI(Application Binary Interface)定义了二进制文件(尤其是.so文件)如何运行在相应的系统平台上,从使用的指令集,内存对齐到可用的系统函数库。

ABI

应用程序二进制接口(application binary interface,ABI),描述了应用程序和操作系统之间,一个应用和它的库之间,或者应用的组成部分之间的低层接口。ABI不同于应用程序接口(API),API定义了源代码和库之间的接口,因此同样的代码可以在支持这个API的任何系统中编译,然而ABI允许编译好的目标代码在使用兼容ABI的系统中无需改动就能运行。

armeabi 主要指 Android NDK 开发中的 abi

X86采用复杂指令集,ARM则采用精简指令集。arm架构主要用在移动设备上,原因是它的功耗低。
ARM授权相关专利给高通、联发科等CPU厂家使用。这两家都是能够生产SoC芯片的厂商,能够为生产移动设备的厂商省很多事。

参考:http://www.jianshu.com/p/cb05698a1968

原文地址:https://www.cnblogs.com/nicoleTeng/p/7866569.html