首页 > 代码库 > ABI 管理
ABI 管理
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 支持的指令集概览。
ABI | 支持的指令集 | 说明 |
---|---|---|
armeabi |
|
无硬浮点。 |
armeabi-v7a |
|
与 ARMv5、v6 设备不兼容。 |
arm64-v8a |
|
|
x86 |
|
不支持 MOVBE 或 SSE4。 |
x86_64 |
|
|
mips |
|
使用硬浮点,并且假设 CPU:FPU 时钟比率为 2:1 以获取最大兼容性。 不提供 micromips 或 MIPS16。 |
mips64 |
|
ABI 管理
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。