api(application programming interface,應(yīng)用程序編程接口)是一些預(yù)先定義的函數(shù),目的是提供應(yīng)用程序與開發(fā)人員基于某軟件或硬件得以訪問一組例程的能力,而又無需訪問源碼,或理解內(nèi)部工作機(jī)制的細(xì)節(jié)。
操作系統(tǒng)的用戶接口
windows api
api函數(shù)包含在windows系統(tǒng)目錄下的動態(tài)連接庫文件中。windows api是一套用來控制windows的各個部件的外觀和行為的預(yù)先定義的windows函數(shù)。用戶的每個動作都會引發(fā)一個或幾個函數(shù)的運(yùn)行以告訴windows發(fā)生了什么。這在某種程度上很像windows的天然代碼。而其他的語言只是提供一種能自動而且更容易的訪問api的方法。當(dāng)你點(diǎn)擊窗體上的一個按鈕時,windows會發(fā)送一個消息給窗體,vb獲取這個調(diào)用并經(jīng)過分析后生成一個特定事件。
更易理解來說:windows系統(tǒng)除了協(xié)調(diào)應(yīng)用程序的執(zhí)行、內(nèi)存的分配、系統(tǒng)資源的管理外,同時他也是一個很大的服務(wù)中心。調(diào)用這個服務(wù)中心的各種服務(wù)(每一種服務(wù)就是一個函數(shù))可以幫助應(yīng)用程序達(dá)到開啟視窗、描繪圖形和使用周邊設(shè)備等目的,由于這些函數(shù)服務(wù)的對象是應(yīng)用程序,所以稱之為application programming interface,簡稱api 函數(shù)。win32 api也就是microsoftwindows 32位平臺的應(yīng)用程序編程接口。
凡是在 windows工作環(huán)境底下執(zhí)行的應(yīng)用程序,都可以調(diào)用windows api。
linux api
在linux中,用戶編程接口api遵循了unix中最流行的應(yīng)用編程界面標(biāo)準(zhǔn)---posix標(biāo)準(zhǔn)。posix標(biāo)準(zhǔn)是由ieee和iso/iec共同開發(fā)的標(biāo)準(zhǔn)系統(tǒng)。該標(biāo)準(zhǔn)基于當(dāng)時現(xiàn)有的unix實(shí)踐和經(jīng)驗(yàn),描述了操作系統(tǒng)的系統(tǒng)調(diào)用編程接口api,用于保證應(yīng)用程序可以在源程序一級上在多種操作系統(tǒng)上移植運(yùn)行。這些系統(tǒng)調(diào)用編程接口主要是通過c庫(libc)來實(shí)現(xiàn)的。