ABI解決什麼問題
1. ABI 解決什麼問題
一個應用程式的執行,需要諸多相關的庫檔案來支撐的。在Windows當中的庫檔案是*.dll(動態連結庫)而Linux當中的庫檔案是*.so(共享物件)。這樣編寫的程式,是不能跨平臺的,為解決這樣的問題,ABI應運而生(Application Binary Interface 應用程式二進位制介面)。
2. ABI 是什麼
每個作業系統都會為執行在該系統下的應用程式提供應用程式二進位制介面(ABI)。ABI包含了應用程式在這個系統下執行時必須遵守的變成約定,一系列的系統呼叫和使用這些系統呼叫的方法,以及關於程式可以使用的記憶體地址和使用機器暫存器的規定。
3 . ABI不同於API
應用二進位制介面,描述了應用程式和作業系統之間,一個應用和它的庫之間,或者應用的組成部分之間的低層介面。
ABI不同於應用程式介面(API),API定義了原始碼和庫之間的介面,因此同樣的程式碼可以在支援這個API的任何系統中編譯,然而ABI允許編譯好的目的碼在使用相容ABI的系統中無需改動就能執行。
ABI掩蓋了各種細節,例如:呼叫約定(控制著函式的引數如何傳送以及如何接受返回值);系統呼叫的編碼和一個應用如何向作業系統進行系統呼叫;以及在一個完整的作業系統ABI中,目標檔案的二進位制格式、程式庫等等。
相關文章
- Promise到底解決了什麼問題?Promise
- 什麼是解決問題的能力?
- 企業需要DFSS解決什麼問題?
- ES6解決了什麼問題
- RAG能解決大模型的什麼問題?不能解決什麼問題?大模型
- Service Mesh是什麼,為我們解決了什麼問題?
- Akka 系列(六):Actor 解決了什麼問題?
- Akka系列(六):Actor解決了什麼問題?
- 簡單瞭解下JMM解決什麼問題
- 區塊鏈技術在解決什麼問題?區塊鏈
- 六西格瑪解決問題的思路是什麼?
- DFSS能為天津企業解決什麼問題?
- 跨鏈橋的存在解決了什麼問題?
- 什麼是 Flink SQL 解決不了的問題?SQL
- 什麼是六西格瑪,六西格瑪適合解決什麼問題?
- 憑什麼上ERP 上ERP要解決什麼問題(轉)
- 【Java面試】什麼是可重入,什麼是可重入鎖? 它用來解決什麼問題?Java面試
- RPA機器人解決企業什麼問題機器人
- 前端學習(2577):Nuxt解決了什麼問題前端UX
- 一文揭秘DDD到底解決了什麼問題
- 智慧經營系統怎麼樣?解決了什麼問題?
- 解決「問題」,不要解決問題
- 什麼是智慧礦山?它能解決什麼問題?
- 什麼是雲原生?為什麼是Portworx來解決雲原生儲存問題?
- 雲真機可以幫助測試解決什麼問題?
- Nacos 幫我們解決什麼問題?(配置管理篇)
- .NET ORM 導航屬性【到底】可以解決什麼問題?ORM
- 跨域訪問是什麼!怎麼解決?跨域
- 多執行緒的出現是要解決什麼問題的? 本質什麼?執行緒
- 什麼是鎖?深入分析解讀MySQL鎖,解決幻讀問題!MySql
- 一分鐘理解HTTPS到底解決了什麼問題HTTP
- 我們希望智慧物聯中臺UCC解決什麼問題
- 今日面試題分享:解決bias和Variance問題的方法是什麼?面試題
- 怎麼解決老人養老問題
- 前端怎麼解決跨域問題前端跨域
- 報表為什麼會沒完沒了?怎麼解決這個問題?
- ERP系統能夠幫助企業解決什麼問題
- 『學概念找員外』跨鏈技術解決了什麼問題?