|
前回に続きVisual C++の小ネタをば。 VC++でプロジェクトを作るときに、win32かMFCか.NETかを選択する必要があります。 ちなみにMFCは無料版のExpressでは使用できません。有料のStandard版以上で使用可能です。 
さて、これらの違いは歴史的に以下のようになります。 win32 windows用の基本的なライブラリであるwin32 APIを使ってプログラムを書く。 頑張ればwin32のみで何でも作ることが可能。 ただし、ウィンドウを操作するプログラムを書く場合、ソースコードの量が多くなるため、敬遠されがち。 win32 APIはC言語の関数が殆ど。 MFC win32より、ウィンドウ等のプログラムを短いソースコードで作れる。 C++で記述。 ただし、昨今のオブジェクト指向系プログラム言語と比較すると、マイクロソフト独自の流儀が多く理解するのが大変。 Visual C++ 6.0の頃から使用している人ならそのまま使えるので良いが、今から覚える人は大変。
.NET (CLR) MFCより、オブジェクト指向言語として洗練された言語。 CLRとも表記される。 Java言語などに近く、かなり分かりやすくなった。 数年前からコンパイラが無料で配布され、書籍も多く、資料も増えてきている。 C++のほか、C#, Basic等で対応。各言語による文法の違いはあるが、使い勝手は統一されている。 ただし、XPには最初から.NETが入っていないため、.NETプロジェクトで生成したexeを動作させるためには、.NETのインストールが必要。.NETの動作条件はXP SP2以上。
それぞれの使い分けとしては、いろいろ議論の分かれるところですが、私は以下のように使い分けています。 簡単にウィンドウ系プログラムを作りたい→.NET .NETの入っていないPCで動くウィドウ系プログラムをつくりたい→MFC コマンドベースのプログラムを作りたい→win32 また、前回の日記にも書きましたように、VC++は.NETのプロジェクトの中にwin32 APIの関数を混在させることもできます。
それでは今日はこの辺で。 次回は.NETの動作条件やバージョンについて書こうかなと思っています。
|