Visual Studio

Microsoft社のプログラミング環境であるVisual Studioを紹介する。
  1. Visual Studioのインストール
  2. プロジェクトの作成
  3. プロジェクトProjectProgrammingの利用方法

1. Visual Studioのインストール

Visual Studio 2022を例にインストール手順を説明する。
Visual Studio 2022には無償版の「Visual Studio 2022 Community」と有償版の「Visual Studio 2022 Enterprise」「Visual Studio 2022 Professional」がある。
本プログラミング課題はCommunity版で問題なく行えるので、各自ダウンロードページを検索してインストールして欲しい。
インストールの際に「C++によるデスクトップ開発」を選択すること。
なお、研究室ではEnterprise版のライセンスを所有しているので、Enterprise版のインストールを希望する場合は申し出ること。

MFCを追加インストール

Windowsのデスクトップアプリケーションを作成する場合、Microsoft Foundation Class (MFC)を使用すると開発が容易になる。

MFCはウィンドウ枠やボタン、文字列表示領域などの部品の作成と制御をC++言語で行うためのライブラリで、Windowsアプリケーションではよく用いる「ファイルを開くダイアログ」なども部品として備わっており、これら部品を組み合わせて『Windows的な』アプリケーションを簡単に作成することができる。

Visual Studio 2022の標準インストールではMFCは含まれてないので、Visual Studioの初回インストール時にMFCの追加インストールを指定するか、Visual Studioのインストール後に「Visual Studio Installer」を用いて追加インストールする。

以下に、後からMFCを追加インストールする方法を示す。

Windowsスタートメニューで「Visual Studio Installer」を起動する。
[変更]をクリックする。(以下の画像をクリックすると拡大表示する)

[C++によるデスクトップ開発]をクリックし、右の「オプション」の中でMFCにチェックを付ける。

ダイアログ右下隅のボタンが[インストール]に変更されるので、このボタンをクリックしてインストールを開始する。

Visual Studioの使い勝手をカスタマイズ

使い勝手は好みの問題でもあるが、必要に応じてこちらを参照して頂きたい。

2. プロジェクトの作成

プロジェクトとは、Visual Studioでアプリケーションを構成するソースファイル群、リソース群、ビルド(コンパイル)設定などをまとめて管理する単位である。

アプリケーションを作成する際は、そのためのプロジェクトを必要とする。

プロジェクトは、Visual Studioのメニューで「ファイル(F)」→「新規作成(N)」→「プロジェクト(P)...」として新規作成することができる。

今回のプログラミングでは、空のプロジェクトを用意しているので、以下からダウンロードし、ZIPアーカイブを展開して利用してよい。

3. プロジェクトProjectProgrammingの利用方法

プロジェクトを展開し、ProjectProgramming.slnファイルをダブルクリックすると、プロジェクトを開いた状態でVisual Studioが起動する。

「ビルド」し、実行すると以下のウィンドウが表示される。

  1. 「実行」ボタンをクリックするとクラスCSolutionのメンバ関数Execute()が実行される。
  2. 「...」(ファイル選択)ボタンをクリックすると、ファイル選択ダイアログが表示される。ここで選択したファイルは、クラスCSolutionのメンバ変数m_strFilename(CStringクラス)に代入され、メンバ関数Execute()の中でその変数を参照できる。
  3. クラスCSolutionのメンバ関数Printf()を実行すると、この領域に表示される。Printf()の使い方は、C言語の標準関数printf()に準じる。
    クラスCSolutionのメンバ関数Clear()を実行すると、この領域の表示をすべて削除する。

例として、Execute()を以下のように記述した場合の出力結果を示す。

void CSolution::Execute()
{
	Clear();	// 出力をクリアする
	Printf( "テスト\n" );

	MarkTimeStart();	// 開始時刻を記録する

	int k;
	int sum = 0;
	for( k=0 ; k<10 ; k++ ){
		Printf( "k=%d\n", k );
		sum += k;
	}
	Printf( "sum=%d\n", sum );

	MarkTimeEnd();	// 終了時刻を記録、経過時間を算出
}
実行結果

実行時間について

プログラムの実行時間を表示することができる。
実行時間を計りたい開始位置でCSolutionのメンバ関数MakrTimeStart()を呼び出す。
実行時間を計りたい終了位置でCSolutionのメンバ関数MakrTimeEnd()を呼び出す。
これにより、関数MakrTimeStart()を呼び出してから、関数MakrTimeEnd()を呼び出すまでの時間が『実行時間』の部分に表示される。
なお、関数MakrTimeStart()を呼び出さない場合は、「実行」ボタンをクリックした時刻を開始時刻とする。
また、関数MakrTimeEnd()を呼び出さない場合は、表示される実行時間は0となる。
時間の単位はミリ秒とし、数ミリ秒程度の誤差を含むので注意のこと。
令和4年2月28日
令和3年9月24日
令和元年5月22日
伊藤和人