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