应用二进制接口

在软件开发中，应用程序机器二元码接口（英语：application binary interface，缩写为ABI）是指两程序模块间的接口；通常其中一个程序模块会是库或操作系统所提供的服务，而另一边的模块则是用户所运行的程序。
一个ABI定义了机器代码如何访问数据结构与运算程序，此处所定义的界面相当低级并且相依于硬件。而类似概念的API则在源代码定义这些，则较为高端，并不直接相依于硬件，通常会是人类可阅读的代码。一个ABI常见的样貌即是调用约定：数据怎么成为计算程序的输入或者从中得到输出；x86的调用约定即是一个ABI的例子。
决定要不要采取既定的ABI（不论是否由官方提供），通常由编译器，操作系统或库的开发者来决定；然而，如果撰写一个混和多个编程语言的应用程序，就必须直接处理ABI，采用外部函数调用来达成此目的。

EABI

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