Can you summarize the following document?
        
  ABI涵蓋了各種細節,如:  一個完整的ABI,像Intel二進位制相容標準(iBCS),允許支援它的作業系統上的程式不經修改在其他支援此ABI的作業系統上執行。  其他的ABI標準化了一些細節,包括C++ 名稱修飾,和同一個平臺上的編譯器之間的呼叫約定,但是不包括跨平臺的相容性。  ABI不同於應用程式介面(API),API定義了原始碼和庫之間的介面,因此同樣的程式碼可以在支援這個API的任何系統中編譯,然而ABI允許編譯好的目的碼在使用相容ABI的系統中無需改動就能執行。 在Unix風格的作業系統中,存在很多執行在同一硬體平臺上互相相關但是不相容的作業系統(尤其是Intel 80386相容系統)。有一些努力嘗試標準化ABI,以減少銷售商將程式移植到其他系統時所需的工作。然而,直到現在還沒有很成功的例子,雖然Linux標準化工作組正在為Linux做這方面的努力。

  嵌入式應用二進位制介面指定了檔案格式、資料型別、暫存器使用、堆積組織優化和在一個嵌入式軟體中的引數的標準約定。開發者使用自己的組合語言也可以使用EABI作為與相容的編譯器生成的組合語言的介面。 支援EABI的編譯器建立的目標檔案可以和使用類似編譯器產生的程式碼相容,這樣允許開發者連結一個由不同編譯器產生的庫。EABI與關於通用計算機的ABI的主要區別是應用程式程式碼中允許使用特權指令,不需要動態連結(有時是禁止的),和更緊湊的堆疊幀組織用來節省記憶體。 廣泛使用EABI的有Power PC和ARM.
在軟體開發中,應用二進位制介面(英語:application binary interface,縮寫為ABI)是指兩程式模組間的介面;通常其中一個程式模組會是函式庫或作業系統所提供的服務,而另一邊的模組則是使用者所執行的程式。