简介
armeabi、armeabi-v7a、mips、x86 如何理解?
ABI:指利用基于哪一种指令集来进行编译,ABI总共有4种,分别是armeabi、armeabi-v7a、mips、x86,它们都是表示cpu的类型。
armeabi
默许选项,
支持基于 ARM* v5TE 的装备
支持软浮点运算(不支持硬件辅助的浮点计算)
支持所有 ARM* 装备
armeabi-v7a
支持基于 ARM* v7 的装备
支持硬件 FPU 指令
支持硬件浮点运算
x86
支持基于硬件的浮点运算的 IA⑶2 指令集
mips
支持2进制接口
既然armeabi通用,为何要使用其它指令集呢?
答:虽然armeabi通用性强,但速度慢,而v7a能充分发挥v7a CPU的能力。armeabi就是针对普通的或旧的armcpu,armeabi-v7a是针对有浮点运算或高级扩大功能的arm cpu。x86、mips同理。
扩大知识
EABI(嵌入式利用2进制接口)
Embedded application binary interface, 即嵌入式利用2进制接口,是描写可连接目标代码,库目标代码,可履行文件影象,如何连接,履行和调试,和目标代码生成进程,和c, c++语言接口的规范,是编译连接工具的基础规范,也是研究它们工作原理的基础,惋惜arm的EABI迄今为止没有完全订好。作为EABI的组成部份有进程调用规范,可履行文件格式规范,c/c++ ABI规范和调试格式规范。EABI ,说的是这样的1种新的系统调用方式
NEON
1种由 ARM 开发的 64/128 位混合 SIMD 体系结构,可以提升多媒体和信号处理利用程序的性能。 NEON 作为处理器的1部份来实现,但是它具有自己的履行管道,和有别于 ARM 的寄存器组。 关键功能包括对齐和未对齐数据访问,支持整型定点和单精度浮点数据类型、与 ARM 核心的紧密耦合,和具有多个视图的大型寄存器文件。
SSE
向英特尔架构(IA)的SIMD 流指令扩大(英特尔推出的类似 NEON 的工具)。