Win32 コンソールモード

従来の MS/DOS と同様のプログラムを作成します。
テンプレートを使ったプロジェクトの作成方法を学んでもらいます。
講座でも console(MS/DOS) の方が説明しやすいと思われるときには、このモードを使っています。

前田稔(Maeda Minoru)の超初心者のプログラム入門

プロジェクトの作成

  1. [スタート][プログラム] から VC++(Microsoft Visual Studio) を起動して下さい。
    VC++ のショートカットをデスクトップに置いて、ダブルクリックで起動することもできます。
    OSやソフトのバージョンにより、画像や説明に多少の違いがあります。

  2. 新規プロジェクト(consol)を作成します。
    1. [ファイル][新規作成][プロジェクト]を選択すると新しいプロジェクトのウインドウが表示されます。
    2. [プロジェクトの種類]から[Visual C++ プロジェクト]を[テンプレート]から[Win32 プロジェクト]を選択します。
    3. [プロジェクト名]に[console]とタイプします。
      赤い丸印が要注意箇所で、画像とは異なるので注意して下さい。
    プロジェクトの画像
  3. [OK]をクリックしてアプリケーションの設定画面に移ります。
    [アプリケーションの設定]をクリックして[コンソールアプリケーション]を選択して下さい。
    [完了]をクリックして現在の設定を有効にして下さい。
    アプリケーションの設定
  4. 自動的にコンソールアプリケーションのテンプレートが作成されます。
    次のソースプログラムを参考にして "Hello .Net" を表示するソースコードを追加して下さい。
    // consol.cpp : コンソール アプリケーションのエントリ ポイントを定義します。
    //
    
    #include "stdafx.h"
    
    int _tmain(int argc, _TCHAR* argv[])
    {
        printf("Hello .Net\n");
        return 0;
    }
    
  5. 今でも多くのソースは、次のようにコーディングされています。
    これでは括弧 { } のペアーが明白では無く、度々括弧の対が一致しないエラーに泣かされてきました。
    そこで私は、上記のように括弧の対が一目で解る方法を使う事にします。
    #include "stdafx.h"
    
    int _tmain(int argc, _TCHAR* argv[]) {
        printf("Hello .Net\n");
        return 0;
    }
    
  6. ビルド(コンパイル)に続いて実行を行います。
  7. [デバッグ][デバッグなしで開始]を選択して、ビルド(コンパイル)に続いて実行を行います。
    ツールバーの「Debug 左の三角マーク」をクリックして実行する方法が便利です。
    VC Ver6.0 では [ビルド] から [デバッグの開始][実行] を選びます。
    コンパイルの進行状況と、エラーがあればエラーメッセージが表示されます。
    実行開始の画像
  8. 背景が黒い画面に "Hello .Net" と表示されたら完成です。

  9. 何かキーをタイプすると終了します。
  10. ツールバーに開始アイコンが設定されていないときに、[デバッグ][デバッグなしで開始] を追加する方法です。
    [ツール/カスタマイズ]で分類から[デバッグ]を選んで[デバッグなしで開始]をツールバーにドラッグします。
    ツールバー設定の画像
  11. command line から BAT FILE を使ってコンパイルする方法もあります。
    詳細は テストプログラム を参照して下さい。

【演習1】

  1. 先頭に T(t) が付いている名前は UNICODE に対応していることを意味します。
    TCHAR(UNICODE の char) では、実行環境により8ビットまたは16ビットが使われます。
    詳細は UNICODE を使うときに説明します。
  2. プログラムがすぐに終了して表示が確認できないときは getch(); でキー入力待ちにして下さい。
    getch(); を使うときは stdafx.h で conio.h を include します。
    新しいバージョンでは getch(); を使うと警告が発せられることがあります。
    そのときは _getch(); を使って下さい。
    // TODO: プログラムに必要な追加ヘッダーをここで参照してください。
    #include <conio.h>
    
  3. 次のプログラムを実行して「型とサイズ」を確認して下さい。
    int _tmain(int argc, _TCHAR* argv[])
    {
        printf("int size= %d\n",sizeof(int));
        printf("short size= %d\n",sizeof(short));
        printf("float size= %d\n",sizeof(float));
        printf("long size= %d\n",sizeof(long));
        printf("double size= %d\n",sizeof(double));
        printf("int* size= %d\n",sizeof(int *));
        getch();
    }