看板 C_and_CPP 關於我們 聯絡資訊
最近自學想要寫一些比較好玩的東西,而看上了winAPI,雖然知道api是應用程式介面,但實際使用上和函式庫沒什麼區別,所以他是函式庫? 但仔細想想,winAPI是程式要使用核心功能的介面,用函式庫好像沒辦法實現(?),所以是用已經編譯封裝好的程式,算是dll? 還是兩者混合在一起用? 如果是函式庫,那為什麼像opneCL和QT不叫API而叫函式庫? 看了很多解釋還是搞不太懂API的概念 -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 101.139.188.142 ※ 文章網址: https://www.ptt.cc/bbs/C_and_CPP/M.1496389972.A.4B9.html
CP64: 個人理解: API 是指那個使用界面 library 是後面的實作 06/02 15:57
CP64: 也就是說函式庫實作了功能 然後他可以提供 API 給你呼叫使用 06/02 15:58
Chikei: API就是開放出來的使用界面,WinAPI是Windows OS的界面 06/02 16:31
Chikei: QT/OpenCL也有各自對應不同語言的API 06/02 16:31
linotwo: API 是為了讓應用程式進行特定操作所給定的規範 06/02 20:44
MasTerNBHD: 樓上大大們講的都可以參考,還有一些會搞混的如sdk.. 06/02 23:09
還是看不太懂....那如果我使用一個函式a(),他的宣告是void a(void);,如果這個函式 在函式庫和API裡面都有一樣的效果,那他們的區別是什麼?實現的方式? ※ 編輯: wei115 (125.230.101.22), 06/03/2017 00:04:31
CP64: API 就是說你要用功能 A 就去 call a(arg_a,arg_b,arg_c) 06/03 00:33
CP64: 函式庫就是提供這個 a() 的實作內容 (就這功能如何運作) 06/03 00:34
wei115: 哪他是怎樣call的呢?一般寫程式的時候可以用API來用但在寫 06/03 00:53
wei115: API的時候要怎麼去用核心的功能呢? 06/03 00:54
LPH66: 這麼說吧: API 是抽象概念, 描述函式庫要怎麼使用的概念 06/03 00:56
LPH66: 它並不只是單指函數要傳什麼參數進去, 而是包含整個函式庫 06/03 00:56
LPH66: 當中的設計邏輯和使用方法 06/03 00:57
LPH66: 所以例如 Windows API 就要你要怎麼跟 Windows 系統溝通 06/03 00:57
LPH66: 的邏輯、介面、使用方法等等的整體設計 06/03 00:58
jaid: 你可以把API當成包在外面的一層殼 06/03 04:07
xvid: 可以先看看維基百科 還蠻清楚的 06/03 09:06
ronin728: API 的重點在 I,即是界面,程式之間溝通的界面 06/03 10:30
ronin728: 就算是網頁哪種JSON傳來傳去的東西,也被稱為API 06/03 10:33
y3k: 因為講API的時候通常還漏了一個以上的單字 06/03 13:57
Hazukashiine: 不需要這麼深究吧 XD 就是一個很概念性的名詞而已 06/03 14:57
bluesoul: 就是介面 06/09 12:36
tinlans: 其實就是相對於 user interface 的programming interface 06/11 13:18
tinlans: 一個是讓你拿鍵盤滑鼠點來點去跟程式互動,一個是讓你寫 06/11 13:18
tinlans: 程式去呼叫它開放出來的 library 跟程式互動。 06/11 13:19
tinlans: 打太快,是 function 不是 library XD 06/11 13:20
tinlans: 至於它跟 library 的差別,其實沒什麼人去特別定義。 06/11 13:21
tinlans: 一般會認為有互動對象,對象是個應用程式之類的,或者是 06/11 13:22
tinlans: 作業系統、虛擬機器等等的東西,這種比較有 API 的感覺。 06/11 13:22
pttuser: 我不知道API是啥小 06/17 23:20