ABI API EABI

应用程序二进制接口 (application binary interface,ABI) 描述了应用程序和操作系统之间,一个应用和它的库之间,或者应用的组成部分之间的低接口 。

ABI不同于API ,API定义了源代码和库之间的接口,因此同样的代码可以在支持这个API的任何系统中编译 ,然而ABI允许编译好的目标代码在使用兼容ABI的系统中无需改动就能运行。 ABI掩盖了各种细节,例如:调用约定控制着函数的参数如何传送以及如何接受返回值;系统调用的编码和一个应用如何向操作系统进行系统调用;以及在一个完整的操作系统ABI中,对象文件的二进制格式、程序库等等。一个完整的ABI,像 Intel二进制兼容标准 (iBCS) ,允许支持它的操作系统上的程序不经修改在其他支持此ABI的操作体统上运行。

ABI:application binary interface, 应用程序二进制接口

在计算机领域内,ABI描述了应用程序与OS之间的底层接口。ABI涉及了程序的各个方面,比如:目标文件格式、 数据类型 、数据对齐、 函数调用约定 以及函数如何传递参数、如何返回值、系统调用号、如何实现系统调用等。

一套完整的ABI(比如: Intel Binary Compatibility Standard (iBCS)),可以让程序在所有支持该ABI的系统上运行,而无需对程序进行修改。

EABI : embedded application binary interface  嵌入式应用二进制接口指定了文件格式、 数据类型 寄存器 使用、堆积组织优化和在一个 嵌入式软件 中的参数的标准约定。开发者使用自己的汇编语言也可以使用 EABI 作为与兼容的 编译器 生成的汇编语言的接口。 支持 EABI 编译器 创建的 目标文件 可以和使用类似编译器产生的代码兼容,这样允许开发者链接一个由不同编译器产生的库。 EABI 与关于 通用计算机 的ABI的主要区别是应用程序代码中允许使用 特权指令 ,不需要 动态链接 (有时是禁止的),和更紧凑的堆栈帧组织用来节省内存。 广泛使用 EABI 的有Power PC和ARM.[1]

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值