作者AWEN221 (Larry)
看板C_and_CPP
標題Re: [問題] api是什麼?
時間Fri Jun 9 09:49:33 2017
※ 引述《wei115 (ㄎㄎ)》之銘言:
: 最近自學想要寫一些比較好玩的東西,而看上了winAPI,雖然知道api是應用程式介面,但實際使用上和函式庫沒什麼區別,所以他是函式庫?
: 但仔細想想,winAPI是程式要使用核心功能的介面,用函式庫好像沒辦法實現(?),所以是用已經編譯封裝好的程式,算是dll?
: 還是兩者混合在一起用?
: 如果是函式庫,那為什麼像opneCL和QT不叫API而叫函式庫?
: 看了很多解釋還是搞不太懂API的概念
首先光是介面跟函式的定義就不一樣
這個部分你再自己多孤狗,說來話長先不多講
第一個部分你說錯了,API可以是函式庫
沒有什麼函式庫沒辦法實現API或兩者混合在一起用的說法
而函式庫廣義來說就是個函式的集合而已
但函式庫不一定就是API
今天你寫了一個函式庫FOR某種APP的功能控制
我們就可以叫這個函式庫為該APP的API,比方說WinAPI
函式庫跟API不在同一個層級
所以不會因為叫函式庫就不能叫API
你問openCL為什麼不叫API?
openCL是API沒錯,維基上面也是寫API
openCL表示:你才不是API,你全家都不是API
API大部分都是一種函式庫,
所以你叫API或函式庫都可以,
只是大部分人不懂,別人習慣叫什麼就跟著叫
這就是你要問的為什麼大家不叫他API要叫他函式庫
至於QT層級又更高了,QT是一套開發框架
你所謂的QT函式庫只是QT的一部分而已
QT本身就包含一堆函式庫跟API
如果今天我說QT是一種IDE你可能又要混亂了
如果你只是自學好玩的話
這些東西就不用太在意,想要的功能作的出來就好了
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 180.218.32.230
※ 文章網址: https://webptt.com/m.aspx?n=bbs/C_and_CPP/M.1496972976.A.582.html
1F:→ MOONRAKER: 不錯很厲害 看過以後更混亂 簡直是obfuscation大師 06/09 10:48
2F:→ MOONRAKER: 佩服佩服 06/09 10:48
3F:→ MOONY135: 我只能說這種回答 大概只能騙騙高中生以下 06/09 11:01
4F:→ MOONY135: 覺得你好棒 好高深莫測 06/09 11:01
5F:→ AWEN221: 不好意思我表達能力不好,要酸的話回一篇供我學習 謝謝 06/09 11:50
6F:推 LPH66: 你這篇文章的問題在講了很多什麼是 API, 但沒講 API 是什麼 06/09 12:48
7F:→ LPH66: 而這偏偏正是原 PO 最想問的事情 06/09 12:49
原 PO 最想問的事情是什麼?什麼又是原 PO 最想問的事情?
所以誰要來解釋一下API?
※ 編輯: AWEN221 (180.218.32.230), 06/09/2017 13:03:11
8F:→ shadow0326: 什麼在二壘 06/09 17:08
9F:→ CodingMan: 你講了一堆卻啥也沒講 06/09 22:02
10F:→ AWEN221: 有什麼關係,可以騙騙高中生還有P幣拿 06/10 02:00
11F:→ dragonrose: 看不懂... 06/10 19:40
12F:推 CoNsTaR: 人家問你動物是什麼,你只舉例雞狗是動物 06/11 22:10
13F:→ CoNsTaR: 那以後他遇到雞狗以外的東西還是不知道是不是動物 06/11 22:10
14F:→ CoNsTaR: 幫 LPH 大大解釋 06/11 22:10