前回はMicrosoft社の "Visual Studio" で今後プログラムを作るためのプロジェクトとソリューションを作りました。
今回はVisual Studio Community を使って、はじめてのC言語のプログラム(アプリ)を作って動かしてみるまでにどうやったら良いか、設定方法やひっかかるポイントも書いています。
プログラムを作って動かすには、ソースコードを書く必要があります。
空っぽのプロジェクトの中にソースコードを作成してみましょう。
前回 作った「SampleSolution」というソリューションの中に、「0010_moji_hyouji」というプロジェクトを作成しましたので、その中にC言語のソースコードを作ってみます。
「ソースファイル」を右クリックし、メニューを開きます。
VisualStudioでソースコードの追加手順(新規追加)
で → →
を選択し、新しくファイルを追加するためのウィンドウを開きます。次のような画面が出るかと思います。
左の一覧で、[Visual C++]がデフォルトで選択されているかと思います。ここはそのままで大丈夫です。(もし違ったものが選択されていたら、Visual C++ を選択しましょう。) 真ん中に追加するファイルの種類がアイコン付きで一覧となっているので、「
」を選択します。ここで注意ですが、これでは、C言語ではなく、C++言語のファイルが追加されてしまいます。
今回はC言語のファイルを追加したいため、追加する名前の末尾の拡張子を一部書き換えてあげます。今回は 「Source.cpp」というファイル名を「Source.c」というように、拡張子をかえています。
C++言語のソースコードのファイル拡張子は「.cpp 」が一般的です。また、C言語のファイル拡張子は「.c{}/」が一般的です。どちらも中身はテキストファイルですが、一部のソフト(統合開発環境など)はこのファイル拡張子を見て、扱いを変えることもありますので、ファイルの中身に合わせて拡張子も名前づけしてあげたほうが無駄なトラブルにならずに済みます。
名前を書き換えた後、
ボタンを押すと、プロジェクトにC言語のソースコードが追加されました!ソリューションエクスプローラーに、
が
Cのアイコン付きで表示されていれば問題ありません。また、追加したファイルの中身がウィンドウ左に表示されています。空っぽのファイルを追加したので、中身が何も書いていない状態ですね。ここにプログラムを書き込んでいきましょう。
プログラムの中身を一行ずつみていくのは次の記事にするとして、まずはプログラムをコピペで書いてみて、動かしてみましょう!
#include <stdio.h>
void main ()
{
printf("hello, world\n");
}
これは真っ黒な画面(コンソール画面)に「hello, world」と白い文字で表示するだけのものすごくシンプルなプログラムのソースコード(コード)です。すみませんが、最初の最初なのでここにゲーム要素はゼロ。
このソースコードをそのままコピー&ペースト、もしくはキーボードから同じように Visual Studio のエディタに入力します。入力したら、Source.c の画面は下のようになっているハズ。
ソースコードが書けたので、動かしてみましょう。ソースコードを動かすとき、コンパイルやリンク処理などが必要です。このコンパイルやリンク処理をすることで、「〇〇.exe」という「exe」ファイル拡張子の、ダブルクリックで実行できるプログラムとなります。
exe 拡張子は英語「Executable file」の略です。実行可能ファイルなんて呼ばれてて、これをクリックしたり、コマンドで実行するとプログラムが動くよ、っていうファイルです。テキストファイルではないので、notepadで開いても通常人間が読むことはできません。
コンパイルやリンク処理など、ソースコードをマシンが実行できるプログラム(exeファイル)に変換する処理を統合開発環境上では「ビルド」処理としてまとめることができます。
特になにもこちらで指定しなくても、ソースコードをコンパイルし、リンクするといった、プログラム作成の処理をウラでちゃちゃっとやってくれます。(だからこそ、なにやってくれているのか最初わかりずらいというのはありますけど・・。)
実際にビルドしてみましょう。Visual Studio のメニューバーから、
を選択すると、 という選択肢が出ているかと思います。もし違う名前でプロジェクトを作っていたら、
という選択肢となっているかと思います。では、
を選択し、ビルドを行います。選択したのは良いのですが、画面になにも変化がなかったのではないでしょうか。ビルドが完了しました!とか失敗しました!とかの結果がどうだったのか確認したいですね。
そういったシステムメッセージは「出力ウィンドウ」に出ています。
のタブをクリックして、出力ウィンドウを表示します。
タブの場所がわからない場合は、ウィンドウのツールバーの
→
さて、出力ウィンドウを表示して、無事にビルドができたかメッセージを確認しましょう。
以下のようなメッセージが出てますね。
1>------ ビルド開始: プロジェクト: 0010_moji_hyouji, 構成: Debug Win32 ------
1>Source.c
1>0010_moji_hyouji.vcxproj -> C:\*省略*\SampleSolution\Debug\0010_moji_hyouji.exe
========== ビルド: 1 正常終了、0 失敗、0 更新不要、0 スキップ ==========
4行目に「ビルド: 1 正常終了、 0 失敗」と表示されており、これは1件のソースコード(Source.c)が正常に処理されたことを表しています。また、「0 失敗」とあり、うまく処理できなかったファイルが 0 件だったことがわかります。
つまりビルドはうまくいったようです。
ここで、もう一度ビルドをしてみると、「ビルド: 0 正常終了、0 失敗、1 更新不要 、0 スキップ」とだけ出力ウィンドウにメッセージが出ると思います。なにもソースコードを書き換えたりしていないので、ビルド処理しなくてもいいじゃん!って判断されたため、「1 更新不要」となるのです。
もし、 1 失敗 となっている場合は、ソースコードを打ち間違えていないか、もう一度確認して打ち直してみてください。
ビルドをしたとき、失敗がカウントされていなければ、ちゃんとプログラムが実行できる状態となっています。実行は
→ でプログラムを動かしてみましょう。結果・・いかがでしたでしょうか。 理想では、黒い画面に「hello, world」と表示される…ですが、ほとんどの方は一瞬だけウィンドウらしきものが表示され、中身をみる間もなく消えたのではないでしょうか。
マシンのスペックによりますが、ウィンドウが表示されたことさえわからず、なにも画面に変化がなかった・・・ように見えるかもしれません。
VisualStudio で新しく空のプロジェクトを作ったときのデフォルト設定として、「プログラムを実行し終えたらコンソールを消す」という設定になっている時、このようなことが起こります。
先ほど書いたプログラムは「hello, world」というメッセージを表示するだけで、なにか入力を受け付けたりする処理を書いていないので、メッセージを表示したら、プログラムは終了しちゃうのです。
プログラム終了時に「なにかキー入力してもらったら終了する」という設定をすることで、解決できます。
ソリューションエクスプローラにある、「0010_moji_hyouji」のプロジェクトを
します。でてくるメニューから
を選択して、プロジェクトの設定一覧を表示します。ここでは、ビルドするときの設定を細かく指定できます。
→ → → の右にある、 をクリックします。
コンソール(/SUBSYSTEM:CONSOLE) を選択します。 これで、ビルドするとき、明示的にコンソールプログラムであることを指定することとなり、 プログラムの実行が終わったときに、そのままウィンドウを閉じるのではなく、キー入力を求める ようになります。
選択したら、
ボタンを押して、設定を終了します。もう一度、プログラムを実行してみましょう。
→ 、もしくは、 + でも起動できます。 このショートカットは頻繁に使うので覚えておくと効率アップするかと思います!
無事に黒い画面にプログラムの実行結果が表示されましたか?いぇい!
こんな感じのウィンドウが出ていれば成功です。
プログラムを終了するには、ウィンドウを選択した状態で何かキーを押せば、ウィンドウが閉じて終了されます。ウィンドウ右上の
アイコンで閉じての大丈夫です。先ほどはビルド(
→ )をまず行い、 それからプログラムを実行( → 、 もしくは、[ + ] )したと思います。でも今後ソースコードを書き換えたりしたときは、いきなりプログラムを実行で問題ありません。必要なソースコードを書き換えた場合は、ちゃんとプログラム実行するまえにビルドしますか?って聞いてくれます。
ここで
を選択すると、書き換えた最新のソースコードでビルドしてから、プログラムを実行してくれます。を選択すると、前回ビルドしてできた前回のプログラムが実行されますので、気を付けてくださいね。
次回からはプログラムをちょこちょこ変えながら、今回コピー&ペーストしたソースコードの中身を一行一行、解説をしていこうと思います。
今日はここまで。お疲れさまでした。
更新日 | 更新内容 |
---|---|
更新なし |
コメント、ありがとうございます。
ごめんなさい。エラーでうまく送信できませんでした。ご迷惑をおかけします。しばらくおいてから再度送信を試していただくか、以下から DM などでご連絡頂ければと思います。
Twitter:@NodachiSoft_jpお名前:以下の内容でコメントを送信します。よろしければ、「送信」を押してください。修正する場合は「戻る」を押してください
お名前: