Visual C++のプロジェクト win32, MFC, .NET
作者: 杉浦   
2009年 7月 22日(水曜日) 17:31

前回に続き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の動作条件やバージョンについて書こうかなと思っています。