簡単なプログラムを作ってみる
テストプログラムの作成
Visual Studioでのプロジェクトの作り方が分かったら、実際に簡単なプログラムを作ってみましょう。
まだプログラム言語について何も説明していないので、以下の手順に従ってとりあえず動かしてみてください。
プログラムコードの作成
以下のプログラムコードをそのままコピー&ペーストで、Visual Studio内のソースファイルに貼り付けてください。
これはプログラミング言語のひとつ、C言語で書かれたコードです。
#include <stdio.h>
int main()
{
printf("Hello World");
getchar();
}
このようになります。
コピペならば大丈夫ですが、手打ち入力する場合は間違いがないように入力してください。
大文字と小文字は区別されます。
単語間のスペースはすべて半角スペースです。
全角でスペースを入力すると見た目ではわかりにくいバグとなってしまいます。
(Visual Studioならば自動でエラーが検出され、エラー箇所に赤の下線が引かれるのでわかりやすくはなっています)
半角スペース以外ではタブ文字が使用できます。
行番号(左端の縦の1~7の数字)が表示されていない場合は、「ツール」メニューから「オプション」を開きます。
オプションウィンドウ内で「テキストエディター」→「すべての言語」を選択し、「行番号」のチェックをオンにします。
行番号の表示は必須ではありませんが、あったほうが分かりやすくなります。
次に、Visual Studioの上部にある「ローカルWindowsデバッガー」ボタンをクリックします。
「デバッグ」メニュー内にある「デバッグの開始」を選択でも構いません。
すると何か作業が始まります。
これはコンパイルとリンクの作業をVisual Studioが自動的に行い、実行ファイルを作成してくれています。
この作業をビルドといいます。
しばらく待つと、背景が黒のウィンドウが開き、「Hello World」の文字が表示されます。
このウィンドウ上でキーボードのEnterキーを押すと、ウィンドウが閉じられてプログラムは終了します。
Hello World
このプログラムは、ただ文字を表示するだけのごく簡単なプログラムです。
実際のプログラミングではもっと複雑な処理を書きますが、プロジェクトの作成とビルドの作業は同じ手順で行います。
プログラミング言語を学習すれば、もっと高度なプログラムを作ることができるようになります。
次からは実際にC言語の基礎の解説に移ります。
ビルドとデバッグ
既に説明しましたが、ソースコードをコンパイルし、必要なライブラリとのリンクを行い実行ファイルを作る作業をビルドと言います。
これはボタンひとつでVisual Studioが自動的にやってくれます。
ショートカットキーは「F5」なので、慣れてきたらこちらを使うといいでしょう。
ビルド作業が終わると、Visual Studioは自動的にそのプログラムを実行します。
この時の実行方法はデバッグモードで行われます。
(初期設定の場合)
デバッグとは、プログラムに間違いがないかどうかをチェックするモードです。
ソースコードに文法上の間違い(タイプミスなど)があればコンパイルの時点でエラーが発生し、コンパイルができません。
このような間違いは、Visual Studioならばソースコード上の間違いの箇所に赤線が引かれ、エラーウィンドウにも間違い箇所が表示されるので、容易に間違いに気づくことができます。
ソースコードに見かけ上の間違いがなければコンパイルは成功し、プログラムは実行できます。
しかしコンパイルが出来たからといって、プログラムに間違いがないとは限りません。
例えば入力した数値を間違えていたり計算方法を間違えていたりすれば当然正しい結果が得られません。
このようなすぐには発見できない間違いを発見するためのモードがデバッグモードです。
詳細なデバッグ方法はここでは省きますが、デバッグはプログラミングにおいて重要な作業なのでいずれ説明します。
実際にソフトウェアを使用したり配布したりする場合には、リリースモードでビルドしたものを使用します。
デバッグモードによるビルドは、デバッグに必要な情報をプログラムに組み込んでおり、その分動作が若干遅くなります。
リリースモードでビルドした場合はこういった情報を含まず、動作は速くなります。
ビルドしたプログラムの保存場所
今ビルドしたプログラムは、「プロジェクトの保存場所\Debug\プロジェクトの名前」に保存されます。
デバッグビルドなので、「Debug」内に存在します。
出力された実行ファイルを起動すると、先ほどと同じように実行可能です。
リリースモードでビルドした場合は「Debug」フォルダと同じ階層に「Release」というフォルダが作成され、そこに実行ファイルが作られます。
コンソールアプリケーションとウィンドウアプリケーション
上で作ったような、真っ黒のウィンドウ上に白文字が表示されるプログラムをコンソールアプリケーションといいます。
コンソールアプリケーションは、文字の入力と表示だけのソフトウェアのことです。
(この真っ黒なウィンドウをコンソールと呼びます)
一方で、一般的なソフトウェアの多くはウィンドウアプリケーションで作られています。
ウィンドウアプリケーションは、アイコンやボタンなどのわかりやすい表示(ユーザーインターフェイス)を持ち、マウスでポチポチとクリックするだけでほとんどの操作ができるソフトウェアのことです。
コンソールアプリケーションはCUIアプリとも呼ばれます。
CUIはCharacter User Interfaceの略で、ソフトの操作や実行結果の表示など、画面の入出力のすべてを文字で行う方式を言います。
ウィンドウアプリケーションはGUIアプリとも呼ばれます。
GUIはGraphical User Interfaceの略で、文字以外にも画像や動画を表示したり、マウスなどによる視覚的な操作が可能な方式を言います。
ウィンドウアプリを作るには、少し高度な知識が必要となります。
ややこしい部分の大半はVisual Studioが自動的にやってくれるのでかなり簡単にはなっていますが、それでもいきなりウィンドウアプリの作成はハードルが高いでしょう。
最初はコンソールアプリの作り方を学ぶのがお勧めです。
コンソールアプリは、ソフトの操作をすべて文字だけで行うので、操作が難しく利用者にとっては不便です。
しかしシンプルな分、ウィンドウの表示に関する複雑な処理を考えなくて良いので、プログラミング言語の学習にはこちらの方が向いています。
ウィンドウアプリケーションの開発は「プログラミング言語」とは直接関係のない知識が必要になりますので、まずプログラミング言語をある程度理解してからになります。
アンチウィルスソフトの誤検出
プログラミングをしていると、使用しているアンチウィルスソフトによっては作ったばかりのプログラムがウィルス(危険なプログラム)として検出されることがあります。
アンチウィルスソフトは、利用者の少ないソフトウェアを信頼性が確認できないソフトとして検出し、自動的に削除する機能が搭載されているものがあります。
この場合、ビルドは成功してもすぐに削除されてしまうため、プログラムの実行が出来なくなる場合があります。
そのため、アンチウィルスソフトの設定を変更して、自動的に削除しないようにしましょう。
ただし、アンチウィルスソフト自体の動作を停止してしまうのは危険です。
プロジェクトの保存先フォルダ(作成したプログラムが保存される場所)のみを自動削除の対象から外すなどの方法で対応しましょう。
詳しい設定方法は使用しているアンチウィルスソフトの説明書を読んでください。
また、他人が作ったソースコードをビルドする場合は危険な動作をする可能性がありますので、怪しい動作をしないかきちんとソースを確認してからビルドしましょう。
共有ライブラリ(DLL)にもウィルスを仕込むことができますので、他人が作った実行ファイル(exe)やDLLを使用してアンチウィルスソフトが反応した場合は本当に危険な動作をするプログラムである可能性があります。
そのような場合は安易に誤検出と判断してアンチウィルスソフトの動作を停止したり警告を無視して使ったりはしないようにしましょう。