https://developer.android.google.cn/ndk/guides/abis.html

不同 Android 手机使用不同的 CPU,因此支持不同的指令集。CPU 与指令集的每种组合都有其自己的应用二进制界面(或 ABI)。 ABI 可以非常精确地定义应用的机器代码在运行时如何与系统交互。 您必须为应用要使用的每个 CPU 架构指定 ABI。

典型的 ABI 包含以下信息:

  • 机器代码应使用的 CPU 指令集。
  • 运行时内存存储和加载的字节顺序。
  • 可执行二进制文件(例如程序和共享库)的格式,以及它们支持的内容类型。
  • 用于解析内容与系统之间数据的各种约定。这些约定包括对齐限制,以及系统如何使用堆栈和在调用函数时注册。
  • 运行时可用于机器代码的函数符号列表 - 通常来自非常具体的库集。

本页枚举了 NDK 支持的 ABI,并且提供每个 ABI 如何运行的信息。

支持的 ABI


每个 ABI 支持一个或多个指令集。表 1 提供每个 ABI 支持的指令集概览。

表 1. ABI 和支持的指令集。

ABI 支持的指令集 说明
armeabi
  • ARMV5TE 和更高版本
  • Thumb-1
无硬浮点。
armeabi-v7a
  • armeabi
  • Thumb-2
  • VFPv3-D16
  • 其他(可选)
与 ARMv5、v6 设备不兼容。
arm64-v8a
  • AArch-64
x86
  • x86 (IA-32)
  • MMX
  • SSE/2/3
  • SSSE3
不支持 MOVBE 或 SSE4。
x86_64
  • x86-64
  • MMX
  • SSE/2/3
  • SSSE3
  • SSE4.1、4.2
  • POPCNT
mips
  • MIPS32r1 及更高版本
使用硬浮点,并且假设 CPU:FPU 时钟比率为 2:1 以获取最大兼容性。 不提供 micromips 或 MIPS16。
mips64
  • MIPS64r6
 

最新文章

  1. Nodejs学习笔记(四)--- 与MySQL交互(felixge/node-mysql)
  2. 药企信息sop
  3. QCustomplot使用分享(二) 源码解读
  4. 批量传递ID数组字符串到后台的处理
  5. 关于MYSQL group by 分组按时间取最大值的实现方法!
  6. Android开发之Java必备基础
  7. 在WPF中调用Winform控件
  8. 让python整型计算结果为浮点型
  9. Oracle的Export用法
  10. java开发之IO流
  11. 本地主机作服务器解决AJAX跨域请求访问数据的方法
  12. 关于js封装框架类库之DOM操作模块(二)
  13. Ubuntu中firefox设置成中文
  14. Ubuntu 安装 Redis和phpredis扩展
  15. Django(十一)请求生命周期之响应内容(请求/响应 头/体)
  16. [APIO2012]派遣
  17. Mysql高级查询 内连接和外连接详解
  18. VNPY思维导图架构
  19. 属性特性get/set
  20. VS2010中配置OpenGL

热门文章

  1. phpstudy+phpstorm配置xdebug
  2. Java——flush()方法
  3. 20181031 temp
  4. javascrip基础学习
  5. 本地git的使用
  6. nodejs --- crypto实现加密(转)
  7. linux工具:快速返回某级父目录--bd
  8. C#本期本周的算法
  9. Android学习记录帖
  10. Sass基础(一)