国产玉足榨精视频在线_亚洲日韩国产第一区_男人都懂的网站在线观看免费_久久91亞洲精品中文字幕奶水_按摩房技师激情国产精品_无人在线观看视频在线观看_年轻女教师2免费播放_欧洲熟妇色xxⅩx欧美老妇多毛_91爱视频成人在线第一页_欧美日韩中文字幕成人网

日志樣式

紹興企業(yè)網(wǎng)站建設(shè)500元全包(api與gui)編程api是什么意思啊,

API與ABI不時(shí)會(huì)出現(xiàn)在軟件開發(fā)的文檔中,他們看上去相似卻有很大區(qū)別,屬于編程核心知識(shí)鑒于,在維基百科上的定義比較形式化,不易理解這里先從通俗易懂的角度講解區(qū)別,然后再看維基百科的定義一句話區(qū)別API(Application Programming Interface,應(yīng)用程序編程接口)是對(duì)源代碼的約束。

ABI(Application Binary Interface,應(yīng)用程序二進(jìn)制接口)是對(duì)目標(biāo)代碼的約束更詳細(xì)說(shuō)明API通常,我們使用特定的編程語(yǔ)言來(lái)描述API,盡管某些軟件系統(tǒng)(“框架”或“庫(kù)”)提供了多種語(yǔ)言的API(例如,許多機(jī)器學(xué)習(xí)框架同時(shí)具有C++和Python API)。

API不僅包括功能、過(guò)程和數(shù)據(jù)結(jié)構(gòu)的描述,還包括其使用約定(用于正確的資源管理 、回調(diào)機(jī)制和性能特征等)扎實(shí)的API知識(shí)對(duì)于在特定框架下高效開發(fā)應(yīng)用程序必不可少大多數(shù)應(yīng)用程序會(huì)使用多個(gè)API或框架:包括“開箱即用”編程語(yǔ)言提供的API、操作系統(tǒng)提供的API和第三方API等。

大型應(yīng)用程序還將傾向于包含”內(nèi)部API“,這是專門為該應(yīng)用程序開發(fā)的庫(kù)的API(作為一種可以降低應(yīng)用程序整體復(fù)雜性的機(jī)制)ABIABI包含很多方面的東西:如何編碼函數(shù)名稱如何將參數(shù)傳遞給函數(shù),以及如何獲取返回值。

如何布局?jǐn)?shù)據(jù)結(jié)構(gòu):大小、對(duì)齊方式和相對(duì)偏移量等如何拋出和處理異常等等盡管ABI中的A是應(yīng)用程序的縮寫,但通常應(yīng)用程序的程序員對(duì)ABI的關(guān)注并不多相反,它們通常處理以下兩種情況:以源代碼分發(fā)的框架:該框架是使用與應(yīng)用程序相同的工具集(編譯器、鏈接器等)構(gòu)建的,并且該工具集可確保所有”二進(jìn)制位“都連接在一起。

以二進(jìn)制分發(fā)的框架:該框架是為特定工具集預(yù)先構(gòu)建的,應(yīng)用程序開發(fā)人員只需確保其用的工具集與該框架兼容即可。

維基百科定義API應(yīng)用程序編程接口(API)是計(jì)算機(jī)程序不同部分之間的接口或通信協(xié)議,旨在簡(jiǎn)化軟件的實(shí)現(xiàn)和維護(hù)API可以用于基于Web的系統(tǒng)、操作系統(tǒng)、數(shù)據(jù)庫(kù)系統(tǒng)、計(jì)算機(jī)硬件或軟件庫(kù)API規(guī)范可以采用多種形式,但通常包括例程、數(shù)據(jù)結(jié)構(gòu)、對(duì)象類、變量或遠(yuǎn)程調(diào)用的規(guī)范。

POSIX、Windows API和ASPI是不同形式的API的示例通常會(huì)提供API文檔,以方便使用和實(shí)施最近,該術(shù)語(yǔ)通常用于指代客戶端和服務(wù)器之間的特定類型的接口,該接口被描述為兩者之間的“合同”因此,如果客戶端以特定格式發(fā)出請(qǐng)求,將始終以特定的格式獲得響應(yīng)或啟動(dòng)已定義的操作。

這是API的一種特殊形式,有時(shí)也定義為WEB APIABI在計(jì)算機(jī)軟件中,應(yīng)用程序二進(jìn)制接口(ABI)是兩個(gè)二進(jìn)制程序模塊之間的接口通常,這些模塊之一是庫(kù)或操作系統(tǒng)工具,另一個(gè)是用戶正在運(yùn)行的程序ABI定義了如何在機(jī)器代碼中訪問(wèn)數(shù)據(jù)結(jié)構(gòu)或計(jì)算例程,這是一種低級(jí)的,與硬件相關(guān)的格式。

相比之下,API在源代碼中定義了這種訪問(wèn),這是一種相對(duì)高級(jí)的、獨(dú)立于硬件的、通常是人類可讀的格式 ABI的一個(gè)常見方面是調(diào)用約定,它確定如何將數(shù)據(jù)作為計(jì)算例程的輸入提供或從計(jì)算例程的輸出讀取示例是x86調(diào)用約定。

堅(jiān)持使用ABI(可能會(huì)或可能不會(huì)正式標(biāo)準(zhǔn)化)通常是編譯器、操作系統(tǒng)或庫(kù)作者的工作;但是,當(dāng)使用多種編程語(yǔ)言編寫程序時(shí),應(yīng)用程序程序員可能必須直接處理ABI,這可以通過(guò)使用外部函數(shù)調(diào)用接口(FFI)來(lái)實(shí)現(xiàn)。

參考:https://www.quora.com/What-is-the-difference-between-API-and-ABI