SDKとは?

[戻る]
総司 2002/11/26(火) 13:06:09
お世話になっております。
現在Win2000、VC6.0をつかってAPIの勉強しています。

今回はSDKについて質問させてください。

普通の(?)実行形式アプリケーションを作る時、APIや構造体を使いますが、
VCをインストールするだけでよいのでしょうか?
それともMS社から別途SDKをダウンロードしてインストールするべきなのでしょうか?

ネットからサンプルをダウンロードして実行しようとしたとき、
構造体の宣言などでエラーが出てしまったので疑問に思いました。

以上、よろしくお願いします。

ku 2002/11/26(火) 13:19:25
> 普通の(?)実行形式アプリケーションを作る時、APIや構造体を使いますが、
> VCをインストールするだけでよいのでしょうか?
おそらく総司さんが現在想定されているものについては
VCをインストールすればビルドできると思います
ただし、DirectXなど別途インストールが必要なライブラリもあります
また、サンプル(誰が作ったものかわかりませんが)によっては
有償・無償、どういったライブラリを使用しているかは分かりません

どんなエラーかとか、API名とか構造体名とか書けば答えてもらえる可能性があります

総司 2002/11/26(火) 13:35:12
Kuさん

お返事ありがとうございます。
そして情報不足ですみません。

DirectXなどは使ったことが無いのでわかりませんが、
今勉強しているのはビットマップの表示などです。
エラーに関しては、パスが通っていないだけでした。
申し訳ありません。

ただ、それとは別でSDKが解りません。
例えば、RegisterClassExなどはただのAPIですが、
MSDNを開くとSDKとかいてありますよね。
つまり、皆さんはSDK=APIとして読んでいるのでしょうか?

MS社はSDKという名のツールを出しています。
しかし、VCだけでアプリを作れます。

結局、SDKをインストールする必要は無いのか??と考えてしまいます。

乱文で申し訳ありません。

YuO [E-Mail] 2002/11/26(火) 14:04:51
> つまり、皆さんはSDK=APIとして読んでいるのでしょうか?

そうではないです。
SDKはAPIを使うためのヘッダファイル・ライブラリと関連ツールやヘルプの集合体です。


> 結局、SDKをインストールする必要は無いのか??と考えてしまいます。

VC++にはWin32 SDK(のsubset?)が含まれます。
なので,基本的にはWin32 SDKをインストールする必要はないです。
ただ,VC++の出荷より後にできたAPIを扱うときにはインストールする必要があります。
#Direct X SDKなど。Win32のAPIはLoadLibrary/GetProcAddressでなんとかなる。

dairygoods 2002/11/26(火) 14:22:56
APIは、Windowsに入っている各DLLがEXPORTしている関数ですが、
DLLだけあってもその関数を呼び出すプログラムを作れません。
(GetProcAddress()などを使えば呼び出せないこともないですが)

プログラムを作るには、関数と関連する構造体の定義やdefineなど
を書いたヘッダーファイルと
DLLの関数にリンクするためのインポートライブラリが必要です。
それらをまとめたものがSDKです。

VCは、C/C++コンパイラ+標準ライブラリと(標準API用の)SDKと
開発用アプリケーションとVC固有のクラスライブラリ(MFCなど)などを
セットにした、SDKプログラミングを楽にするためのソフトウェアです。

というわけで、
「VCには標準API用のSDKが付属しているのでSDKを別途インストールする必要はない。
しかし、その他のAPIや最新OSのAPIを使いたかったらSDKを別途入手する必要がある。」
ということです。

総司 2002/11/26(火) 14:36:33
[[解決]]
YuOさん、dairygoodsさん

お返事ありがとうございました。
SDKはVCに付属されているのですね。
大変わかりやすい説明ありがとうございました。

今後ともよろしくお願い致します。

古いスレッドには追加発言できません。