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

API函數

鎖定
API(Application Programming Interface,應用程序接口)函數是一些預先定義的函數。操作系統除了協調應用程序的執行、內存分配、系統資源管理外,同時也是一個很大的服務中心,調用這個服務中心的各種服務(每一種服務是一個函數),可以幫助應用程序達到開啓視窗、描繪圖形、使用周邊設備的目的。
中文名
應用程序編程接口函數
外文名
Application Programming Interface
對    象
應用程序
領    域
軟件編程
簡    稱
API函數
作    用
程序執行、內存分配、資源管理
目    的
開啓視窗、描繪圖形、使用周邊

API函數基本概述

應用程序接口為:“‘電腦操作系統(Operating system)’或‘程序庫’提供給應用程序調用使用的代碼”。其主要目的是讓應用程序開發人員得以調用一組例程功能,而無須考慮其底層的源代碼為何、或理解其內部工作機制的細節。API本身是抽象的,它僅定義了一個接口,而不涉及應用程序在實際實現過程中的具體操作。
例如,圖形庫中的一組API定義了繪製指針的方式,可於圖形輸出設備上顯示指針。當應用程序需要指針功能時,可在引用、編譯時鏈接到這組API,而運行時就會調用此API的實現(庫)來顯示指針。
應用程序接口是一組數量上千、極其複雜的函數和副程序,可讓程序員做很多任務作,譬如“讀取文件”、“顯示菜單”、“在視窗中顯示網頁”等等。操作系統的API可用來分配存儲器或讀取文件。許多系統應用程序藉由API接口來實現,像是圖形系統數據庫、網絡Web服務,甚至是在線遊戲。
應用程序接口有諸多不同設計。用於快速執行的接口通常包括函數常量變量數據結構。也有其它方式,如通過解釋器,或是提供抽象層以屏蔽同API實現相關的信息,確保使用API的代碼無需更改而適應實現變化。
應用程序接口經常是軟件開發工具包(SDK)的一部分。 [1] 

API函數使用目的

圖形庫中的一組API定義調用繪製圖標函數的方式,以於屏幕上顯示圖標。程序中調用,編譯時連接到這組API,執行時便調用API的實現(庫)來顯示圖標。操作系統的API可用來分配內存或訪問文件。許多系統與應用程序提供API接口與實現,比如圖形系統,數據庫,網絡,Web服務,甚至於某些遊戲。
一組API經常是一套軟件開發工具包(SDK)的一部分。SDK亦可包含其它工具亦或至於硬件,兩個術語並不完全等同。同時API有諸多不同設計。用於快速執行的接口通常包括函數,常量變量與數據結構。也有其它方式,如通過解釋器,或是提供抽象層以遮蔽同API實現相關的信息,確保使用API的代碼無需更改而適應實現變化。
API 就是應用程序編程接口。它是能用來操作組件、應用程序或者操作系統的一組函數。典型的情況下,API 由一個或多個提供某種特殊功能的 DLL 組成。 [2] 

API函數基本分類

Windows API
應用程序基本框架 應用程序基本框架
API函數包含在Windows系統目錄下的動態連接庫文件中。Windows API是一套用來控制Windows的各個部件的外觀和行為的預先定義的Windows函數。用户的每個動作都會引發一個或幾個函數的運行以告訴Windows發生了什麼。這在某種程度上很像Windows的天然代碼。而其他的語言只是提供一種能自動而且更容易的訪問API的方法。當你點擊窗體上的一個按鈕時,Windows會發送一個消息給窗體,VB獲取這個調用並經過分析後生成一個特定事件。
Windows系統除了協調應用程序的執行、內存的分配、系統資源的管理外,同時也是一個很大的服務中心。調用這個服務中心的各種服務(每一種服務就是一個函數)可以幫助應用程序達到開啓視窗、描繪圖形和使用周邊設備等目的,由於這些函數服務的對象是應用程序,所以稱之為Application Programming Interface,簡稱API 函數。WIN32 API也就是MicrosoftWindows 32位平台的應用程序編程接口
凡是在 Windows工作環境底下執行的應用程序,都可以調用Windows API。
apilinux API
linux中,用户編程接口API遵循了UNIX中最流行的應用編程界面標準---POSIX標準。POSIX標準是由IEEE和ISO/IEC共同開發的標準系統。該標準基於當時現有的UNIX實踐和經驗,描述了操作系統系統調用編程接口API,用於保證應用程序可以在源程序一級上在多種操作系統上移植運行。這些系統調用編程接口主要是通過C庫(LIBC)來實現的。 [3] 
參考資料
  • 1.    沙曉晨. 應用程序接口版權保護及限制研究[D].南京師範大學,2017.
  • 2.    湯小丹.計算機操作系統:西安電子科技大學出版社,2010
  • 3.    任德凌,顧毓清. 面向對象的應用程序編程接口的設計與實現. 《 小型微型計算機系統 》 , 2001