「windows API」は、例えれば「役所の窓口」みたいな物。
窓口に手ぶらで行っても相手にされず、何かしてもらうには「所定の用紙に必要事項を書いて申請」しなければなりません。
「windows SDK」は、例えれば「役所の窓口の前にある、筆記台」みたいな物。
筆記台には「申請用紙」と「筆記具」と「記入見本」が置いてあり、これがあれば「所定の用紙に必要事項を書き込む事が可能」になります。
用紙に記入が済んだら(API関数の呼び出し準備が済んだら)、決められた番号の窓口に(決められた名称のAPI関数に)用紙を提出(決められた引数を渡して呼び出し)すれば、申請した内容が受理されて処理されて(OS内部で処理されて)住民票などの書類を受け取り(関数からの戻り値や処理結果を受け取り)できます。
このように、窓口が開いていても、申請用紙が無かったり、記入方法が判らなかったり、提出すべき窓口の番号が判らなかったりすると、窓口を利用できません。
SDKに含まれるヘッダファイルは「記入見本」と「用紙を提出する窓口番号の案内」に相当し、関数の呼び出し方や、呼び出すのに必要な物の定義が記載されています。
SDKに含まれるライブラリファイルは「申請用紙」に相当し、これが無ければAPIを利用する事ができません。
お礼
わかりやすい説明ありがとうございます。難しいですね・・がんばって勉強したいと思います。
補足
では、DirectXとDirectX SDKの関係もwindows APIとwindows SDKの関係と同じようなものですか?? 質問ばかりですいません、、、