複製鏈接
請複製以下鏈接發送給好友

應用二進制接口

鎖定
應用二進制接口,描述了應用程序和操作系統之間,一個應用和它的庫之間,或者應用的組成部分之間的低層接口。
中文名
應用二進制接口
作    用
描述應用程序和操作系統之間接口
其他信息
正在為Linux做這方面的努力
API
定義了源代碼和庫之間的接口

應用二進制接口應用接口

ABI不同於應用程序接口(API),API定義了源代碼和庫之間的接口,因此同樣的代碼可以在支持這個API的任何系統中編譯,然而ABI允許編譯好的目標代碼在使用兼容ABI的系統中無需改動就能運行。
ABI掩蓋了各種細節,例如:調用約定(控制着函數的參數如何傳送以及如何接受返回值);系統調用的編碼和一個應用如何向操作系統進行系統調用;以及在一個完整的操作系統ABI中,目標文件的二進制格式、程序庫等等。一個完整的ABI,像Intel二進制兼容標準 (iBCS) ,允許支持它的操作系統上的程序不經修改在其他支持此ABI的操作體統上運行。其他的 ABI 標準化細節包括 C++ 名稱修飾 和同一個平台上的編譯器之間的調用約定,但是不包括跨平台的兼容性。

應用二進制接口其他信息

在Unix風格的操作系統中,存在很多運行在同一硬件平台上互相相關但是不兼容的操作系統(尤其是Intel 80386兼容系統)。有一些努力嘗試標準化ABI,以減少銷售商將程序移植到其他系統時所需的工作。然而,直到現在還沒有很成功的例子,雖然Linux標準化工作組正在為Linux做這方面的努力。