ABI 管理
2024-09-29 08:12:22
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 |
|
无硬浮点。 |
armeabi-v7a |
|
与 ARMv5、v6 设备不兼容。 |
arm64-v8a |
|
|
x86 |
|
不支持 MOVBE 或 SSE4。 |
x86_64 |
|
|
mips |
|
使用硬浮点,并且假设 CPU:FPU 时钟比率为 2:1 以获取最大兼容性。 不提供 micromips 或 MIPS16。 |
mips64 |
|
最新文章
- Nodejs学习笔记(四)--- 与MySQL交互(felixge/node-mysql)
- 药企信息sop
- QCustomplot使用分享(二) 源码解读
- 批量传递ID数组字符串到后台的处理
- 关于MYSQL group by 分组按时间取最大值的实现方法!
- Android开发之Java必备基础
- 在WPF中调用Winform控件
- 让python整型计算结果为浮点型
- Oracle的Export用法
- java开发之IO流
- 本地主机作服务器解决AJAX跨域请求访问数据的方法
- 关于js封装框架类库之DOM操作模块(二)
- Ubuntu中firefox设置成中文
- Ubuntu 安装 Redis和phpredis扩展
- Django(十一)请求生命周期之响应内容(请求/响应 头/体)
- [APIO2012]派遣
- Mysql高级查询 内连接和外连接详解
- VNPY思维导图架构
- 属性特性get/set
- VS2010中配置OpenGL