※ 引述《devil@tainan.com.tw.x (璉璉)》之銘言:
> 這是我先前在雅虎知識網那邊回的:
> API 是 應用程式介面
> 最早是特指 Windows 內建的系統函數庫,現在很多都拿來用,所以你可以當成是函數庫
> SDK 是 軟體發展工具,K 就是 Kit縮寫,就是工具組。
> 最早也是指 Windows 內建的系統函數庫,早期,在 MS C 5/6/7 (1988 ~ 1993) 要在 DOS 下寫 Windows 程式只能使用 SDK 來實作,直到 MS C 7 推出 MFC 1.0 後,開發 Windows 程式才變的輕鬆。現在已經變成 API 的說明書。
> 所以如果有人說,他的程式是用 API 或是 SDK 兜出來的,基本上表示他沒有使用物件庫,全部靠系統函數庫作出來,有些人認為這是高手的表現,有些人認為這是浪費時間的行為。
> 由於用法混亂,假設你同時看到這三個名詞,你可以這樣去分別:
> 1.API 為函數庫,你要直接控制某硬體或軟體時,需要使用
> 2.SDK 為說明書,說明 API 如何呼叫、如何使用
> 3.KIT 為工具組,可能有現成的範例或簡易工具,讓你不用寫程式也可以初步控制硬體。
> 如果不是同時看到,你可能要從前後文來分別。
> 參考資料
> 走過那個年代
謝謝前輩指點
容我進一步請教
大家都說
JavaRuntime
跟
dotNet Framework
是競爭對手
可是根據我自己對網路上各式各樣資料的理解
JavaRuntime在Win32上跟Python,GTK+...等等語言
是以差不多的機制運作的
各自呼叫各自的dll
然後才由dll去做事情
//聽說Mac OSX是把Java作進系統的呼叫跟被呼叫的機制裡
//但我完全不敢在我的Mac上灌任何開發工具
//事關真正的吃飯工具 禁不起任何賭博嘗試
//況且我的Protools尚且是OS9上的機器
//我也沒辦法真的做什麼
//當一台漂亮的多軌錄音機而已
我想知道的是
這些dll(或exe)跟C:\windows\system32\....裡的那些dll
有本質上的不同嗎
當我在*.cpp裡#include "windows.h"時
我做了什麼?
我是呼叫了MSVC*****.dll
還是呼叫了system32.dll?
(好像要看compiler?)
那設若我有朝一日又開始學Objective C
我呼叫了誰
那個GNUSTEP又是什麼層面的東西?
cygwin.dll也是同樣的東西嗎?
講老實話
我也知道我追究這些
其實層次等級真的有點問題(水準不夠)
可能還是應該專注在
一次搞定一種語言的一個編譯器
可是作為一個上一次認真寫程式時(12年前:P)
"有聽說"必須要透過16h或21h(?)
去跟硬體講話
才能得到更多顏色的人
我心裡實在忍不住的好奇
希望哪位高人有空的時候能指點一下
再度懇請原諒我的糾纏追問
謝謝
--
※ Origin: SayYA 資訊站 <bbs.sayya.org>
◆ From: 59-117-106-104.dynamic.hinet.net