Visual C++ 2010 Epxress の使い方 for プログラミング入門 ver.20110912 静岡理工科大学総合情報学部コンピュータシステム学科 飯倉宏治 0 はじめに このドキュメントでは Visual C++ 2010 Express のインストールから.exe の作成までを簡単に説明します 本ド キュメントの構成は以下のようになっています 1 インストールとユーザ登録 2 ソリューションとプロジェクト 3 ソースコードの追加 4 開発サイクル 5 まとめ 1 Visual C++ 2010 Express のインストールとユーザ登録 次の URL にアクセスして http://www.microsoft.com/japan/msdn/vstudio/express/ Visual C++ 2010 Express をダウンロードおよびインストールして下さい もしくは.iso イメージを以下のページよりダウンロードし DVD に保存し それを用いてインストールします http://www.microsoft.com/japan/msdn/vstudio/2010/product/express/offline.aspx 30 日以上使用するので ヘルプ 製品の登録 をクリックして ユーザ登録を済ませておいて下さい ユーザ登録しないと 30 日後は Visual C++ 2010 Express を使用することができなくなります -1-
登録を済ませたら 次は ツール 設定 上級者用の設定 をクリックし 上級者モードにして下さい 2 ソリューションとプロジェクト Visual C++ 2010 Express におけるソリューションとはプロジェクトを束ねるものであり ひとつの Visual C++ 2010 Express で開くことができるソリューションはひとつのみです 同時に複数の Visual C++ 2010 Express を起 動すれば それぞれで異なるソリューションファイルを開くことができます ソリューションは.sln という拡張子を 持つファイルとして保存されます 次にプロジェクトですが これは実行形式を生成するための各種の設定を保存するものです ソースコードなど のファイルもこのプロジェクトの情報として保存されます プロジェクトは.vcxproj という拡張子を持つファイルと して保存されます 2 1 ソリューションとプロジェクトの関係 ソリューションとプロジェクトの関係を示すと以下のようになります ソリューション プロジェクト1 ソースコード1-1.cpp ソースコード 1-2.cpp : ヘッダファイル A.h ヘッダファイル B.h : プロジェクト2 ソースコード 2-1.cpp ソースコード 2-2.cpp : ヘッダファイル A.h ヘッダファイル ε.h : -2-
2 2 ソリューションとプロジェクトの作成 ファイル 新規作成 プロジェクト をクリックしてソリューションとプロジェクトの作成します 次のようなダイアログが表示されるので 左側の インストールされたテンプレート より Visual C++ をクリッ クすると中央部分に各種のプロジェクトのテンプレートが表示されますので その中から Win32 コンソールアプ リケーション をクリックします まだ OK ボタンはクリックしないで下さい ダイアログの下の方に 名前 場所 ソリューション名 という項目がありますので それぞれ入力します -3-
名前はソリューションと同時に作成するプロジェクトの名前を入力します ここでは Lesson1 というプロジェクト 名にしてみましょう 次に場所ですが これはソリューションファイルと各プロジェクトファイルが格納されるディレクトリを指定します キーボードから入力しても良いですが 右側にある 参照 ボタンをクリックするとディレクトリを指定するダイアログ が開きますので それを用いる事もできます ソリューションおよびディレクトリの格納場所ですが 日本語や空白の入ったディレクトリ名を指定するのはおす すめしません Visual C++ 2010 Express ではこれら日本語や空白の入ったディレクトリにも対応しているよ うですが 時々これらが原因と思われるトラブルに遭遇することがあります プログラムや設定などは全く問題な いのだが ソリューションファイルやプロジェクトファイルが格納されているディレクトリが不適切であったという事 例が実際に存在します プログラムや設定をいくら修正してもトラブルを解決することはできず 格納されている ディレクトリを変更したら問題解決した などという不毛な事例もあります このような不毛な事態に遭遇しない為にも 日本語や空白の入ったディレクトリを指定するのはやめましょう 同 様の理由でデスクトップにソリューションファイルやプロジェクトファイルを保存するのもおすすめしません 最後にソリューション名ですが これはソリューションの名前を入力して下さい ここでは IntroductionToProgramming という名前にしてみます 名前 場所 ソリューション名 全ての入力ができたら ソリューション名の入力欄の右側にある ソリューションの ディレクトリを作成 というチェックボックスにチェックが入っている事を確認して OK ボタンをクリックします すると次のようなダイアログが表示されますので 現在のプロジェクト設定が コンソールアプリケーション となっ ていることを確認して 次へ ボタンをクリックします -4-
アプリケーションの設定ダイアログが開きますので 追加のオプション のところにある 空のプロジェクト に チェックを入れ 完了 ボタンをクリックします 以上で IntroductionToProgramming というソリューションと共に Lesson1 というプロジェクトが生成されま す 2 3 ソリューションディレクトリ 今回 IntroductionToProgramming というソリューションを作成しましたが 作成時にソリューションのディレ クトリも同時に作成するというチェックボックスクにチェックしたのを覚えていますでしょうか これは指定した場所 にソリューションと同名のディレクトリを作成して その中にソリューションのファイル 今回は IntroductionToProgramming.sln というファイル を作成せよ という指示を出した事に他なりません 実際 指定したディレクトリをみてみると IntroductionToProgramming というディレクトリが出来ていて かつ その 中に IntroductionToProgramming.sln というファイルが生成されているのが確認できると思います 指定したディレクトリ IntroductionToProgramming ディレクトリ ソリューションディレクトリ IntroductionToProgramming.sln ソリューションの情報が含まれているディレクトリ この例では IntroductionToProgramming の事をソリュー ションディレクトリと呼ぶことにします -5-
IntroductionToProgramming ソリューションのソリューションディレクトリには Lesson1 というディレクトリがあ るのも確認できるかと思います これはソリューションの作成と同時に作成した Lesson1 プロジェクトのプロジェクトディレクトリです ソリュー ションと同様にプロジェクトもプロジェクトディレクトリの中にプロジェクトファイルが格納されています 実際に Lesson1 ディレクトリの中をみてみると Lesson1.vcxproj というファイルが格納されているのが分かると思いま す プロジェクトまで含めたディレクトリおよびファイルの配置状況を見てみるとこのような感じになります 指定した場所 ディレクトリ IntroductionToProgramming ディレクトリ ソリューションディレクトリ IntroductionToProgramming.sln ソリューションファイル Lesson1 ディレクトリ プロジェクトディレクトリ Lesson1.vcxproj プロジェクトファイル Visual C++ 2010 Express を終了後 再度 IntroductionToProgramming ソリューションを開く場合は この IntroductionToProgramming.sln を開いて下さい またソリューションディレクトリとプロジェクトディレクトリの関係ですが 必ずしも親子関係になっている必要はあり ません 例えば あるプロジェクトを他のソリューションと共有する場合などがそれにあたります -6-
3 ソースコードの追加 3 1 ソリューションエクスプローラの表示 表示 ソリューションエクスプローラ をクリックします するとソリューションエクスプローラが表示されます -7-
ソリューションエクスプローラが画面の中途半端な位置に表示されていると作業しづらいので もしそのような状 況になっている場合は ソリューションエクスプローラのタイトルバーをドラッグして画面左側に配置する等してお きましょう -8-
3 2 ソースコードの追加 Lesson1 プロジェクトにソースコードを追加します ソリューションエクスプローラでみると Lesson1 プロジェク トの下に ソースファイル ヘッダーファイル 等のフォルダが表示されていると思います この ソースファイル と 表示されている部分を右クリックし 追加 新しい項目 をクリックします すると次のようなダイアログが表示されますので 中央部分のファイルの種類で C++ ファイル をクリックし 名 前のところに作成するソースコードの名前を入力します ここでは Lesson1.cpp としておきます 場所の欄にはファイルを作成するディレクトリを入力しますが すでに Lesson1 プロジェクトのプロジェクトディ レクトリが入力されていると思いますので 何も修正せずに 追加 ボタンをクリックします -9-
画面はこのようになり ソリューションエクスプローラの Lesson1 プロジェクトのソースファイルフォルダ フィルタ の下に Lesson1.cpp が追加されているのが確認できると思います また画面の中央部分には白い領域が表示され そこにカーソル キャレット が点滅しており そして左上には Lesson1.cpp と書かれたタブも表示されていると思います この中央部分の大きな白い領域は 現在アクティブなタブ つまり Lesson1.cpp の編集エリアとなります ここ に文字を入力し Ctrl-S するか Lesson1 タブの上で右クリックして Lesson1.cpp の保存 をクリックすれば Lesson1.cpp に入力した内容が保存されます - 10 -
4 開発サイクル 実際のソフトウェア開発では ソースコード入力 ビルド ビルドエラーの除去 実行 デバッグ ソースコード修正 ビルド に戻る というステップを踏みます 4 1 ソースコードの入力 C++ 言語 C 言語 を学ぶ前ですが Visual C++ 2010 Expreess の操作を学ぶため まずは以下のプログラム を入力して下さい 4 2 ビルド 今 みなさんが入力したものは.exe など 実行形式等の元となるもので ソースコードと呼ばれます ソース コードの入力が完了したら 次はビルドと呼ばれる作業を行います ビルドとはソースコードから実行形式等を作 成する事を指し Visual C++ 2010 Express では ソリューション全体に対してビルドを行う事も それぞれのプロ ジェクトに対してビルドを行う事ができます - 11 -
ソリューション全体に対してビルドを行う場合は ソリューションエクスプローラに表示されているソリューション名 の上で左クリックをし ビルド を選択します ソリューションに対してビルドすると そのソリューションに属する全てのプロジェクトに対してビルドが行われます 一方 特定のプロジェクトに対してビルドの指示を行うこともできます ソリューションエクスプローラにて ビルドを 行いたいプロジェクト名の上で右クリックし ビルド を選択します - 12 -
今はソリューションの中に Lesson1 というプロジェクトしか存在しないので ソリューション全体にビルドを指示して も Lesson1 に対してビルドを行っても どちらの操作でも違いはありません 実際にビルドを行うと 次のような出力パネルが表示されます ビルドの結果は最終行に表示されます 上の例では 正常終了が1つ 失敗が0個 スキップが0個 と表示されています 数字が先に来るので ちょっと分かりづらいですが ビルドに失敗してしまう人はソースコードの入力ミスが考えられますので 注意して見なおして下さい セミコロン 一つ抜けただけでもエラーになります もしかすると 上記のような表示ではなく ビルド 0 正常終了 0 失敗 1 更新不要 0 スキップ と表示されている人もいるかもしれません ビルドは必要な作業だけを行う処理ですので 一度正常にプログラ ムが生成された場合は上記のような表示が出力されます ちなみに強制的にビルドを行わせる事をリビルドと言います - 13 -
4 3 実行 無事にビルドが完了したら 作成したプログラムを実際に実行してみます まずはビルドしたプログラムがきちんと生成されているか確認します まずはソリューション作成時に指定したフォ ルダ ディレクトリ を見てみます すると Debug というフォルダ ディレクトリ が出来ているのが確認できると思います この Debug フォルダの中を確認すると このような内容になっているかと思います この Lesson1.exe が先ほど入力したソースコードから生成された実行形式です この Lesson1.exe を早速実行してみたく思うのですが このファイルをダブルクリックして実行させてもウィンドウ が一瞬開くだけですぐに終了してしまいます - 14 -
今回作成した Lesson1.exe はコンソールプログラムと呼ばれるタイプのプログラムで 通常の Windows プログラ ムとは少し異なるアプリケーションです 実行の様子を正しく見るためには次の操作が必要となります Windows7 の スタート ボタンから すべてのプログラム アクセサリ コマンドプロンプト として コマンド プロンプトを起動します コマンドプロンプトを起動すると次のようなウィンドウが現れます 画面に表示されている C: Users あなたの名前 は これから入力するコマンドを実行する場所になります - 15 -
コマンドプロンプトの説明は別の解説文書に譲るとして まずは cd と入力します さらにスペースキーを押して スペースを入力します つまり cd スペース と入力して下さい ここで先程確認した ソリューションフォルダ ソリューションディレクトリ から Debug フォルダ ディレクトリ を こ のコマンドプロンプトの黒い画面にドラッグ アンド ドロップして下さい すると 先程 cd スペース と入力し た部分に続いて 何か文字が入力されます この状態で コマンドプロンプトをアクティブにし コマンドプロンプトのタイトルバー等をクリックして Enter キー を押下して下さい - 16 -
すると コマンドプロンプトの画面は次のようになります ここで コマンドプロンプトに対し dir と入力し Enter キーを押下してみて下さい 次のような表示が現れます ここに表示されているものは 先程ドラッグ アンド ドロップした Debug フォルダ ディレクトリ の中身です よく見 ると Lesson1.exe も表示されているのが確認できます - 17 -
この状態で さらに Lesson1.exe と入力し Enter キーを押下すると 次のような表示が得られます hello world. というのが Lesson1.exe からの出力です これは先程入力したソースコードから生成された実行形 式であり あなたのコンピュータで作成されたプログラムに他なりません まずはおめでとうございます つまり あ なたのコンピュータで Visual C++ 2010 Express を用いて プログラムを生成する環境が整ったという証拠です - 18 -
4 4 デバッグ しかし あなたはもしかすると今こんな風に思っているかもしれません なんだかとっても面倒くさいな と 作成し たプログラムをチェックするたびにこのような操作を行わなければならないのか と思っているかもしれませんね あなたがそのように思うのは全く正常な事で Visual C++ 2010 Express には動作を確認する機能も存在します プログラムの動作を確認する事をデバッグと言います デバッグ作業を手助けするソフトウェアの事をデバッガと 言いますが Visual C++ 2010 Express にはデバッガも搭載されています ソリューションの構成が Dubug になっていることを確認して下さい Release になっている場合は Debug に変更し ておいて下さい この状態を Debug モードと呼ぶことにします Debug モードであることを確認したら デバッグ デバッグ開 始 をクリックして下さい - 19 -
Lesson1.exe をダブルクリックした時のように 一瞬ウィンドウが表示され また元に戻ってしまったと思います これは Lesson1.exe がコンソールプログラムであるために発生している現象で 一体何が起きているのかと言う と 1 コンソールプログラムなので コマンドプロンプトが起動 2 Lesson1.exe を 1で起動したコマンドプロンプトで実行 3 Lesson1.exe が hello, world. というメッセージを出力し終了 4 Lesson1.exe が終了したので 1で起動したコマンドプロンプトも終了 といった事柄がおきています これらの事が一瞬で起きているので 一見するとウィンドウが一瞬表示されて終了 する といった現象として感じてしまうわけです これでは Lesson1.exe の動作確認ができませんので Lesson1.exe を終了直前に一時停止してみます その為 に Lesson1.cpp の5行目にある return 0; のところをクリックし F9 キーを押下します すると左側に赤い丸が表示されますが これは この赤い丸の部分で一時停止すると言うことを表しています こ の場所の事をブレークポイントと呼びます - 20 -
この状態で もう一度 デバッグ デバッグ開始 もしくは F5 キーを押下 して下さい 今度は このような画面になり 黄色の矢印がブレークポイントの所を指しているのが分かります さらに Windows のタスクバーをよく見てみると アプリがひとつ立ち上がっているのが分かります Visual C++ 2010 Express の後ろに表示されているので ALT+TAB キーを押下する等して前面に表示させます すると このようなウィンドウが表示されていることが分かります - 21 -
このウィンドウこそが Lesson1.exe の実行中の画面であり ブレークポイントを設定せずに実行したときに一瞬で 消えてしまったウィンドウです ここでは Lesson1.exe の終了直前部分にブレークポイントを設定して いわば終了直前に一時停止している状 態なので このように出力画面を確認することができました 今は一時停止状態ですので 再度 Visual C++ 2010 Express に戻って ソースコード表示部分を適当にクリック した後 再度 F5 キーを押下して実行を再開します 実行を再開すると Lesson1.exe は終了しますので Visual C++ 2010 Express もソースコード入力時の状態に戻ります 5 まとめ 以上 本当に駆け足ですが Visual C++ 2010 Express でのプログラム開発について見てきました 実際の学 習では プログラムの動作を1ステップずつ実行するステップ実行の機能や プログラム内部で情報がどのように 変化しているのかを確認するウォッチ等の機能を使って学習していきます Visual C++ 2010 Express の基本的な使い方が分からないと学習にも支障がきたしますので 何度も繰り返して Visual C++ 2010 Express の使い方に慣れておいて下さい - 22 -