お世話になっております。
現在Win2000、VC6.0をつかってAPIの勉強しています。
今回はSDKについて質問させてください。
普通の(?)実行形式アプリケーションを作る時、APIや構造体を使いますが、
VCをインストールするだけでよいのでしょうか?
それともMS社から別途SDKをダウンロードしてインストールするべきなのでしょうか?
ネットからサンプルをダウンロードして実行しようとしたとき、
構造体の宣言などでエラーが出てしまったので疑問に思いました。
以上、よろしくお願いします。
> 普通の(?)実行形式アプリケーションを作る時、APIや構造体を使いますが、
> VCをインストールするだけでよいのでしょうか?
おそらく総司さんが現在想定されているものについては
VCをインストールすればビルドできると思います
ただし、DirectXなど別途インストールが必要なライブラリもあります
また、サンプル(誰が作ったものかわかりませんが)によっては
有償・無償、どういったライブラリを使用しているかは分かりません
どんなエラーかとか、API名とか構造体名とか書けば答えてもらえる可能性があります
Kuさん
お返事ありがとうございます。
そして情報不足ですみません。
DirectXなどは使ったことが無いのでわかりませんが、
今勉強しているのはビットマップの表示などです。
エラーに関しては、パスが通っていないだけでした。
申し訳ありません。
ただ、それとは別でSDKが解りません。
例えば、RegisterClassExなどはただのAPIですが、
MSDNを開くとSDKとかいてありますよね。
つまり、皆さんはSDK=APIとして読んでいるのでしょうか?
MS社はSDKという名のツールを出しています。
しかし、VCだけでアプリを作れます。
結局、SDKをインストールする必要は無いのか??と考えてしまいます。
乱文で申し訳ありません。
> つまり、皆さんはSDK=APIとして読んでいるのでしょうか?
そうではないです。
SDKはAPIを使うためのヘッダファイル・ライブラリと関連ツールやヘルプの集合体です。
> 結局、SDKをインストールする必要は無いのか??と考えてしまいます。
VC++にはWin32 SDK(のsubset?)が含まれます。
なので,基本的にはWin32 SDKをインストールする必要はないです。
ただ,VC++の出荷より後にできたAPIを扱うときにはインストールする必要があります。
#Direct X SDKなど。Win32のAPIはLoadLibrary/GetProcAddressでなんとかなる。
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を別途入手する必要がある。」
ということです。
YuOさん、dairygoodsさん
お返事ありがとうございました。
SDKはVCに付属されているのですね。
大変わかりやすい説明ありがとうございました。
今後ともよろしくお願い致します。
