EternalWindows
Visual C++ 2008 Express Edition

Visual C++ 2008 Express Edition は、Microsoft社が無償で提供しているコンパイラです。 C言語で書いたプログラムから実行ファイルを作り出すにはコンパイラが必要不可欠であるため、 コンパイラをお持ちでない方は、この機会にインストールしてみては如何でしょうか。

Visual C++ 2008 Express Editionのインストール

下記ページにアクセスし、Visual C++ 2008 Express Editionの「Webインストール」を選択します。

http://www.microsoft.com/japan/msdn/vstudio/express/


具体的なインストール方法は、「はじめての方のためのインストール方法」から確認することができます。

Visual C++ 2008 Express Editionの設定

Visual C++ 2008 Express Editionのインストールを終えたら、早速起動してみましょう。 起動するには、スタートメニューのすべてのプログラムからVisual C++ 9.0 Express Edition-> Visual C++ 2008 Express Editionを選択するか、 C:\Program Files\Microsoft Visual Studio 9.0\Common7\IDEに存在する VCExpress.exeをクリックします。 起動を終えたら、メニューの「ファイル」から「プロジェクト」を選択します。


すると、下のようなダイアログが表示されるので、Win32プロジェクトを選択して、 プロジェクト名とプロジェクトを作成する場所を自由に決定してください。 下の例ではプロジェクト名をsampleとし、CドライブのProjectsフォルダ以下に作成しています。 ソリューションディレクトリのチェックはここでは外していますが、 つけていても問題ありません。


次に、アプリケーションの設定を行います。 「Windowsアプリケーション」を選択し、「空のプロジェクト」にチェックを入れます。 ちなみに、main関数から始まるプログラムを作成したい場合は、「コンソールアプリケーション」を選択することになります。


次に、作成したプロジェクトにソースファイルを追加します。 メニューの「プロジェクト」から「新しい項目の追加」を選択します。


C++ファイルを選択して、作成したファイル名を自由に決定します。 拡張子を.cにした場合は、C++ではなくCとしてコンパイルされることになります。


ソースファイルを追加したら、次に示すサンプルコードをコピーして貼り付けてください。

#include <windows.h>

int WINAPI WinMain(HINSTANCE hinst, HINSTANCE hinstPrev, LPSTR lpszCmdLine, int nCmdShow)
{
	MessageBox(NULL, TEXT("メッセージ"), TEXT("タイトル"), MB_OK);

	return 0;
}

ソースファイルの記述を終えたら、メニューの「ビルド」から「ソリューションのビルド」を選択します。 これが、コンパイルとリンクの開始となります。


ウインドウの下側に存在するリストの中に「1 正常終了」という文字が表示されていたら、 ビルドは成功したことを意味し、exeファイルが作成されたことになります。


ビルドが成功したら、exeファイルを起動してみましょう。 メニューの「デバッグ」から「デバッグなしで開始」を選択します。


すると、下のようなメッセージボックスが表示されると思われます。


Visual C++ 2008 Express Editionを終了し、後日新しいプロジェクトを作成することになった場合は、 再び上記の手順を行うことになります。 作成した既存プロジェクトのソースファイル等を修正したいような場合は、 プロジェクトを作成したフォルダにアクセスします。 たとえば、今回の例ではc:\Projectsにsampleという名前のフォルダが作成されていますから、そこにアクセスします。


sample.slnというソリューションファイルが存在するはずですから、これをクリックします。 すると、前回終了したときと同じ状態でVisual C++ 2008 Express Editionが起動されるはずです。 Visual C++ 2008 Express Editionの既定の設定では、Debugフォルダにexeファイルが出力されることになっているため、 このフォルダにアクセスすれば、作成されたsample.exeを確認することができます。

作成したアプリケーションの配布

自分の作成したアプリケーションを今とは別の環境で実行するような場合は、 プロジェクトをReleaseモードとしてコンパイルするべきであるといえます。 このモードでコンパイルを行った場合、exeファイルにデバッグに関する情報が書き込まれないことから、 exeファイルのサイズが軽くなるという利点があります。 コンパイルのモードは、ウインドウの上側にあるコンボボックスで変更することができます。


Releaseモードでコンパイルした場合、プロジェクトフォルダにReleaseという名前のフォルダが作成され、 そこにはRelese用のexeファイルが存在するはずです。 アプリケーションの配布の際には、このexeファイルとreadme.txtのような各種必要なファイルを ひとつのフォルダにまとめることになると思われますが、Visual C++ 2008 Express Editionの既定の設定で作成されたexeファイルは、 msvcr90.dllに依存するという1つの問題を抱えています。 DLLを利用するという設計は、exeファイルのサイズを軽くするという利点があるのですが、 このmsvcr90.dllがあらゆる環境に存在するとは限らないことから、 ある環境によってはDLLが存在しないためにexeファイルが実行できないことがあります。 Visual C++ 2008 Express Editionは、再配布可能なファイルの情報をC:\Program Files\Microsoft Visual Studio 9.0\1041に存在する redist.txtに記述しており、そこにはmsvcr90.dllが含まれています。 したがって、このファイルを配布するexeファイルと同じディレクトリに配置しておけば、 exeファイルの実行に失敗することはないと思われますが、 このファイルのサイズがそれなりに大きいことから、 最初からexeファイルにDLLに存在する関数コードを含めておいたほうが好ましいのが実状です。 なお、アプリケーションがmalloc関数のようなCRTを利用するつもりがない場合は、 より効果的な提案があります。

exeファイルがmsvcr90.dllを利用しないようにするには、次の手順を行います。 メニューの「プロジェクト」から「プロパティ」を選択します。


すると、ダイアログが表示されますから、左側のペインから構成プロパティ->C/C++->コード生成を選択し、 ランタイムライブラリという項目にてマルチスレッド(/MT)を選択します。


上記のプロパティダイアログは、コンパイル警告レベルの設定やデバッグ情報の生成の有無、 明示的にリンクするライブラリなど様々な情報を設定できます。 ただし、コードの実行がプロパティの設定に依存しないように、 コード上に#pragmaディレクティブを記述して、 明示的に設定の旨を伝える方法もよく用いられます。


戻る