Microsoft Visual C++ (Visual Studio 2013) の操作
2015-09-23
Visual C++は、プログラム言語CあるいはC++を使ってMicrosoft Windows上で実行できる プログラムを開発するための処理系であり、マイクロソフト社製のプログラム開発環境である Visual Studioに含まれている。(2015年9月時点での最新のバージョンは2015年8月に発売さ れたMicrosoft Visual Studio 2015である。)
Visual Studioでは、Windows上で実行されるプログラムを「アプリケーション」といい、プ
ログラムの開発作業を「プロジェクト」という。Visual Studioを使ってCのプログラムを作成 して実行させるには、まず、Visual C++のプロジェクトの新規作成を行い、次にそのプロジェク トにC言語で書かれたプログラム(ソースプログラム)を追加する。このプログラムを機械語に 翻訳(コンパイル)し、あらかじめ組み込まれているシステムプログラムと結合・編集(リンク)
して実行可能なアプリケーションを作る。(Visual Studioではアプリケーションを作り出す処理 を「ビルド」という。)できあがったアプリケーションを呼び出して実行させるまでが一連の操作 手順である。
Visual Studioの開発環境では、ひとつ以上のプロジェクトをまとめて「ソリューション」として管
理することができる。プロジェクトを新規作成すると、そのプロジェクトを内包するソリューショ ンが自動で作られる。既存のソリューションや、あらかじめ作っておいた空のソリューションを開 いて、そこにプロジェクトを追加することもできる。
この授業の実習では、各自のファイル保存領域(Z:)にプロジェクト(およびそれを包含するソリ ューション)を保存することにする。
Visual Studioの起動
「スタート」−「Visual Studio 2013」
Visual Studioの終了
メニューバー「ファイル」−「終了」
空のフォルダの作成(1回だけ)
各自のファイル保存領域(Z:)に新しいフォルダを作成して、この授業で使うファイルや、プロジ ェクトのフォルダをすべてこの中に保存するとよい。
フォルダの名前は、半角英数文字で「VC」、「ADVC」、「ALG」など、授業科目名がわかるよう なつづりにするとよい。(日本語文字は避ける方がよい。)
以下の説明では、このフォルダ名を「VC」とする。
プロジェクトの新規作成(例題や課題ごとに新しいプロジェクトを作る)
Visual Studioのメニュー「ファイル」−「新規作成」−「プロジェクト」
『新しいプロジェクト』の窓が開く。
左側『プロジェクトの種類』は「Visual C++」(または「Visual C++」−「Win32」)をク リックして選ぶ。
右側の『テンプレート』は「Win32コンソールアプリケーション」または「Win32プロジ ェクト」を選ぶ。
「プロジェクト名」の欄の「ConsoleApplication」等の既定の名前を消して、「sample」、
「ex1」、「kadai-2」など、プロジェクトを区別するための適当な名前を記入する。
「場所」の欄に、直接半角英数文字で入力するか、欄右側の「参照」ボタンからたどるか して、この授業で使うフォルダ「Z:¥VC」を入れる。
ソリューションは自動で作られる。「ソリューションのディレクトリを作成」のチェックはその ままでよい。(チェックを外してもよい。)
以上の設定を確認して「OK」をクリックする。
『Win32 アプリケーションウィザードへようこそ』の窓が表示される。「次へ」または左側 の欄「アプリケーションの設定」をクリックする
『アプリケーションの設定』の窓が表示される。「アプリケーションの種類:」で「コンソー ルアプリケーション」を選び、「追加のオプション:」で「空のプロジェクト」にチェックす る。C言語のライブラリ関数を使うときは、さらに、Security Development Lifecycle (SDL) チェックの欄の選択を外す。設定後「完了」をクリックする。
『参照データベースとIntelliSenseファイルに適切な場所が見つかりました』のメッセージ 窓が表示される。ネットワーク共有フォルダはプロジェクトの場所としては適切でないとい う内容である。無視して続行すればよいので「OK」をクリックする。
『フォルダ’Z:¥VC¥xxx’に既に別のプロジェクトが存在するため、プロジェクトを作成できま せん』のメッセージが表示されたら別のプロジェクト名に変えてから「OK」をクリックする。
画面右側に「ソリューション エクスプローラ」の板が表示され、「プロジェクト名」、「ソー ス ファイル」、「ヘッダー ファイル」、「リソース ファイル」のフォルダが階層的に表示される。
他のテンプレートを選んでしまった場合、この窓には既にいくつかのファイルが取り込まれた フォルダが表示される。このときはソリューションエクスプローラでプロジェクト名を右クリ ックしてメニューの「削除」をクリック、確認にも「OK」を応答する。その後、誤った操作で 作成されてしまったプロジェクトのフォルダごと Windows のエクスプローラで削除してから プロジェクトの追加をやり直す。
ソースプログラムの追加
Cのソースプログラムをプロジェクトに追加する。
テキストエディタを使って作ったものやwebページからダウンロードしたものなど、既にソー スプログラムの全体または一部がファイルに保存されているときは、新しいプロジェクトを作成 したこの段階で、Windowsのエクスプローラ等を使って(ファイルの拡張子を.cまたは.cppにし たものを、)プロジェクトのフォルダに入れておく。その後は、以下の説明の「新しい項目の追加」
の代わりに「既存項目の追加」を行えばよい。
「ソリューションエクスプローラ」の板のプロジェクト名(またはフォルダ「ソース ファイル」) を右クリックして、メニュー「追加」−「新しい項目の追加」をクリックする。
『新しい項目の追加』の窓が開く。この窓で、「インストール済み(のテンプレート)」の欄か ら「Visual C++」(または、「Visual C++」−「コード」)を、『並べ替え基準』の下に表示された 項目の中から「C++ファイル(.cpp)」をクリックして選ぶ。
「場所」の欄が「Z:¥VC¥[プロジェクト名]¥」(または「Z:¥VC¥[ソリューション名]¥[プロジェ クト名]¥」)となっていることを確認する。
違っていたら、プロジェクトを作成したフォルダ(Z:¥VC¥[プロジェクト名]¥ または「Z:¥VC¥[ソ リューション名]¥[プロジェクト名]¥」)を指定する。
『ファイル名』の欄を適切な名前(プログラム名、これはプロジェクト名と同じでもよい)に書 き換える。C 言語のときはファイル名に拡張子 .c を付けてもよい。ファイル名の拡張子を省く
とC++ソースプログラムの拡張子 .cpp が付けられる。
「開く」をクリックする。
『[ファイル名]という名前のファイルはディスクに既に存在します』のメッセージが表示されたら
「OK」をクリックして別のファイル名にする。
Cプログラム入力編集用の窓(『[プログラム名].c』または『[プログラム名].cpp』)が開く。
この窓にプログラムを入力する。
次の作業である「ビルド」を行えば、入力したプログラムがファイルに保存される。
アプリケーションのビルド
ビルド(コンパイル、リンク)を行う。
メニューバー「ビルド」−「[プロジェクト名]のビルド」
入力したプログラムはファイルに保存されてから、コンパイルとリンクが行われる。
プログラムに文法上の誤りがなければ画面下側「出力」の板に [プロジェクト名] ‑ エラー 0、警告 0
========== すべてリビルド: 1 正常終了、0 失敗、0 スキップ ==========
の メ ッセ ージ が表 示さ れる 。 実行 可能 アプ リケ ーシ ョ ンは プロ ジェ クト 内の フ ォル ダ
Z:¥VC¥[プロジェクト名]¥Debugに、[プロジェクト名].exeという名前で作られている。
コマンドプロンプトの窓で修正前のアプリケーションが実行中であると、エラーメッセージ『フ ァイル 'Z:¥VC¥[プロジェクト名]¥Debug¥[プロジェクト名].exe' を削除できませんでした。この ファイルがほかのプロセスによって使用されていないこと、また書込み禁止になっていないこと を確認してください。』が表示され、ビルドは失敗する。このときはコマンドプロンプトの窓で実 行中のアプリケーションを終了させてから再度ビルドする。
ソースプログラムに文法上の誤りがあるとビルドは失敗する。このとき「出力」板にエラーメ ッセージが表示されている。メッセージの内容を見てプログラムを修正してから、再度、メニュ ーバー「ビルド」−「[プロジェクト名]のビルド」をクリックする。
実行と結果の確認
実行可能アプリケーションを実行させるには、メニュー「デバッグ」−「デバッグなしで開始」
をクリックする。
メニュー「ビルド」を省略して「デバッグなしで開始」でも必要に応じてビルドが行われる。『プロ ジェクトの構成が変更されています: … ビルドしますか?』のメッセージ窓が表示されたら「はい」
をクリックする。
コマンドプロンプトの窓が開いてアプリケーションの実行が開始される。
プログラムにデータの入力命令があると画面は入力待ちの状態になる。キーボードから適切な データを入力して[Enter]を押せば実行が継続される。
実行が終わると「続行するには何かキーを押してください . . .」のメッセージが表示される。
実行結果を確認する。結果が正しくなかったときは、プログラムを修正してから再度ビルドし た後で実行をやり直す。
既存プログラムの修正・更新
ソリューションのフォルダに、拡張子が.sln であるファイルがあり、プロジェクトのフォルダ にファイル [プロジェクト名].vcxproj がある。この2つのどちらでも、ファイルのアイコンをダ ブルクリックすれば作業の続きを行うことができる。
デスクトップのマイコンピュータをダブルクリック − ネットワークドライブ(Z:)をダブルク リック」 − 「フォルダ(VC)をダブルクリック−プロジェクトのフォルダをダブルクリック −
{ファイル[ソリューション名].sln をダブルクリック または ファイル[プロジェクト名].vcxproj をダブルクリック}
起動されたVisual Studioの画面にソースプログラム編集用の板が表示されていないときは、ソリュ ーションエクスプローラでプロジェクト名をダブルクリック、ソースファイルのフォルダをダブルク リック、表示されたファイル名をダブルクリックする。
作業用ファイルの削除
ソリューションエクスプローラに表示されているプロジェクト名を右クリックして表示される メニューで「クリーン」をクリックすると、ビルドの際に生成された一時ファイルや実行可能ア プリケーションのファイルが削除されるので、保存用ディスクドライブ(Z:)のスペースを節約でき る。なお、「クリーン」では、サイズの大きな、拡張子.sdfと.ipchのファイルは削除されないが、
これらのファイルやフォルダipchはWindowsのエクスプローラを使って削除してもよい。
「リビルド」を行えば再びアプリケーションのファイルを作ることができる。
プログラムと実行結果の印刷
Windowsのクリップボードを使ってVisual C++の画面に表示されているソースプログラムや
コマンドプロンプト画面の実行結果を、ワードプロセッサの編集画面に取り込んで印刷する。
この説明では、Microsoft Wordを使うことにする。
手順は以下のとおりである。
1. Visual C++を起動し、プログラムを入力・実行させて正しく動作することを確認する。
2. Microsoft Word(「スタート」−「プログラム」−「アプリケーション」−「Word」)などのワー ドプロセッサ、あるいはメモ帳(「スタート」−「プログラム」−「アクセサリ」−「メモ帳」」 などのエディタを起動する。ここではWordを使うことにする。
3. Wordの編集画面の1行目に課題のタイトル、課題のタイトル、日付、学生証番号、名前を記
入する。
4. Visual C++の窓に切り替えてプログラム入力編集の窓のタイトルバーをクリックしてから、メ ニューバーの「編集」−「すべて選択」をクリックする。プログラム全体が反転表示されたら、
メニューバーの「編集」−「コピー」をクリックする。
5. Word の窓に切り替えて、2,3 行改行してから、メニューバーの「編集」−「貼り付け」をク
リックする。プログラムが貼り付けられる。最終行で2, 3行改行しておく。
6. Visual C++の窓に切り替える。プログラムの入力編集窓の反転表示された範囲の外でマウスを クリックして選択を解除する。
7. メニューバーの「デバッグ」−「デバッグなしで開始」をクリックする。コンソールアプリケ ーション実行の窓が開いてプログラムが実行される。
8. プログラムの実行が終わると 続行するには何かキーを押してください . . . と表示される。
この窓上でマウスを右クリックするとメニューが表示される。「範囲指定」をクリックする。
実行結果のうちワードプロセッサで使いたい部分をマウスでドラッグする。選ばれた部分が反 転表示される。キーボードの[Enter]を押すと選択された範囲がクリップボードにコピーされ る。(反転表示は解除される。)
9. Wordの窓に切り替えて、メニューバーの「編集」−「貼り付け」をクリックする。プログラ
ムの出力結果が貼り付けられる。Wordで文書全体を編集・整形する。
この際、Wordの文書中でプログラム全行を選択しておき、メニューバー「書式」−「段落」
で表示される窓で、「1 ページの行数を指定時に文字を行グリッド線に合わせる」のチェック を消すと1ページに表示できる行数が増えてプリンタ用紙を節約できる。
10. Wordのメニューバーの「ファイル」−「印刷」をクリックする。印刷の窓が開く。プリンタ
を選んで「OK」をクリックする。
11. コンソールアプリケーション実行の窓に切り替え、任意のキーを押して窓を閉じる。
12. Word は、メニューバーの「ファイル」−「終了」をクリックすれば終了する。文書ファイ
ルは(Z:ドライブに)保存してもしなくてもよい。
Cプログラムと実行結果の印刷出力の例
2次方程式を解く。 2014-04-10 <学生証番号> <名前>
<プログラム>
/* Solve a Quadratic Equation */
#include <stdio.h>
#include <math.h>
int main(void) { double a, b, c, d;
scanf("%lf %lf %lf", &a, &b, &c);
d=b*b-4*a*c;
if ( d>=0 ) {
double e, x1, x2;
e = sqrt(d);
x1 = (-b+e)/(2*a);
x2 = (-b-e)/(2*a);
printf("x1= %10.5f x2= %10.5f¥n", x1, x2);
} else {
double rpart, ipart;
printf("Discriminant is negative.¥n");
rpart = -b/(2*a);
ipart = sqrt(-d)/(2*a);
printf("x = %f +/- %fi¥n", rpart, ipart);
} }
<実行結果1>
2 -3 1
x1= 1.00000 x2= 0.50000
続行するには何かキーを押してください . . .
<実行結果2>
1 -2 3
Discriminant is negative.
x = 1.000000 +/- 1.414214i
続行するには何かキーを押してください . . . プログラムを入力するとき
つづりの途中に空白や改行を入れてはいけない。
区切り文字の前後には空白や改行をいくつでも入れてよい。