Home>>Visual C++>>Mainはどこ? LastUpdate:2009-01-21
Mainの意味を考える
Visual C++の「main」はどこにあるのかとよく聞かれます。
結論から言ってしまえば、mainはVisual C++プログラミングに関係ありません。
(※MFCアプリを作る場合。)
あなたが普通のC/C++でアプリを作るとしましょう。
この自作アプリのmainには「printf("Hello World");」と書き込みます。
これを実行(a.out)すると画面に「Hello World」が表示されますね。
ここでポイントなのは、「Hello World」を表示する画面と、
あなたが作った自作アプリがそれぞれ独立したプログラムということです。
mainにはプログラム全体を記述しなくてはいけません。
自作アプリは「Hello World」を画面に表示させる以外に何の機能も持たないので、
mainのなかに「printf("Hello World");」だけを書けばいいことになります。
Windowsアプリではどうでしょう。
Windowsアプリは自分の画面(GUI)を持っています。
mainにはプログラム全体を記述しなくてはいけないので、
mainの中には当然「Hello World」のコードだけではなく、
GUI用のコードも含まれなくてはいけません。
Main(全体)を意識しなく良い
今まで普通のC/C++しか使っていない人が、
いきなりVisual C++でGUIのコードを書けるでしょうか?
かなり難しいことは容易に想像できます。
そこでVisual C++は開発者のGUI作成負荷を軽減するため、
MFCテンプレートが自動的にGUIの初期コードを作ってくれます(アプリの種類参照)。
このときmainについてもVisual C++が勝手に作ってくれています。
開発者がこのmainを変える必要はほぼありません。
開発者はmain(プログラム全体)を意識することなく、
「文字を表示する機能」や「計算処理を行う機能」など、
必要な機能のみに注力してプログラミングを行えばいいのです。
(具体的にはイベントハンドラとして各機能を実装します。)