※ 引述《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你可能又要混亂了
如果你只是自學好玩的話
這些東西就不用太在意,想要的功能作的出來就好了