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