Re: [問題] api是什麼?

作者: AWEN221 (Larry)   2017-06-09 09:49:33
※ 引述《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你可能又要混亂了
如果你只是自學好玩的話
這些東西就不用太在意,想要的功能作的出來就好了
作者: MOONRAKER (㊣牛鶴鰻毛人)   2017-06-09 10:48:00
不錯很厲害 看過以後更混亂 簡直是obfuscation大師佩服佩服
作者: MOONY135 (談無慾)   2017-06-09 11:01:00
我只能說這種回答 大概只能騙騙高中生以下覺得你好棒 好高深莫測
作者: AWEN221 (Larry)   2017-06-09 11:50:00
不好意思我表達能力不好,要酸的話回一篇供我學習 謝謝
作者: LPH66 (-6.2598534e+18f)   2017-06-09 12:48:00
你這篇文章的問題在講了很多什麼是 API, 但沒講 API 是什麼而這偏偏正是原 PO 最想問的事情
作者: shadow0326 (非議)   2017-06-09 17:08:00
什麼在二壘
作者: CodingMan (程式俠)   2017-06-09 22:02:00
你講了一堆卻啥也沒講
作者: AWEN221 (Larry)   2017-06-10 02:00:00
有什麼關係,可以騙騙高中生還有P幣拿
作者: dragonrose (遠離顛倒夢想)   2017-06-10 19:40:00
看不懂...
作者: CoNsTaR ((const *))   2017-06-11 22:10:00
人家問你動物是什麼,你只舉例雞狗是動物那以後他遇到雞狗以外的東西還是不知道是不是動物幫 LPH 大大解釋

Links booklink

Contact Us: admin [ a t ] ucptt.com