Nodachisoft Nodachi Sword Icon
  
@あまじ✎ 2018年6月9日に更新

第1章03 初めてのプログラム、文字の表示

イチからゲーム作りで覚えるC言語
第1章02 アプリ作成のためのプロジェクト作り : PREV
NEXT : 第1章04 printf で迷路モドキの表示 :

この記事でやること

前回はMicrosoft社の "Visual Studio" で今後プログラムを作るためのプロジェクトとソリューションを作りました。

今回はVisual Studio Community を使って、はじめてのC言語のプログラム(アプリ)を作って動かしてみるまでにどうやったら良いか、設定方法やひっかかるポイントも書いています。

プロジェクトにC言語のソースコードを追加

プログラムを作って動かすには、ソースコードを書く必要があります。

空っぽのプロジェクトの中にソースコードを作成してみましょう。

前回 作った「SampleSolution」というソリューションの中に、「0010_moji_hyouji」というプロジェクトを作成しましたので、その中にC言語のソースコードを作ってみます。

プロジェクトが追加が完了した画面 プロジェクトが追加が完了した画面

「ソースファイル」を右クリックし、メニューを開きます。

VisualStudioでソースコードの追加手順(新規追加) VisualStudioでソースコードの追加手順(新規追加)

ソースファイル右クリック追加(D)新しい項目(W)

を選択し、新しくファイルを追加するためのウィンドウを開きます。次のような画面が出るかと思います。

新規にCソースファイルを追加する 新規にCソースファイルを追加する

左の一覧で、[Visual C++]がデフォルトで選択されているかと思います。ここはそのままで大丈夫です。(もし違ったものが選択されていたら、Visual C++ を選択しましょう。) 真ん中に追加するファイルの種類がアイコン付きで一覧となっているので、「C++ ファイル(.cpp)」を選択します。

ここで注意ですが、これでは、C言語ではなく、C++言語のファイルが追加されてしまいます。

今回はC言語のファイルを追加したいため、追加する名前の末尾の拡張子を一部書き換えてあげます。今回は 「Source.cpp」というファイル名を「Source.c」というように、拡張子をかえています。

ワンポイント

C++言語のソースコードのファイル拡張子は「.cpp 」が一般的です。また、C言語のファイル拡張子は「.c{}/」が一般的です。どちらも中身はテキストファイルですが、一部のソフト(統合開発環境など)はこのファイル拡張子を見て、扱いを変えることもありますので、ファイルの中身に合わせて拡張子も名前づけしてあげたほうが無駄なトラブルにならずに済みます。

名前を書き換えた後、追加 ボタンを押すと、プロジェクトにC言語のソースコードが追加されました!

C言語のソースコードを追加した直後の画面 C言語のソースコードを追加した直後の画面

ソリューションエクスプローラーに、

add_new_c_sourcefile

のアイコン付きで表示されていれば問題ありません。また、追加したファイルの中身がウィンドウ左に表示されています。空っぽのファイルを追加したので、中身が何も書いていない状態ですね。ここにプログラムを書き込んでいきましょう。

はじめてのプログラムで文字を表示

プログラムの中身を一行ずつみていくのは次の記事にするとして、まずはプログラムをコピペで書いてみて、動かしてみましょう!

 
Source.c
#include <stdio.h>
void main ()
{
 printf("hello, world\n");
}

これは真っ黒な画面(コンソール画面)に「hello, world」と白い文字で表示するだけのものすごくシンプルなプログラムのソースコード(コード)です。すみませんが、最初の最初なのでここにゲーム要素はゼロ。

このソースコードをそのままコピー&ペースト、もしくはキーボードから同じように Visual Studio のエディタに入力します。入力したら、Source.c の画面は下のようになっているハズ。

C言語で hello, world を表示するソースコード C言語で hello, worldを表示するプログラムを入力した画面

ソースコードが書けたので、動かしてみましょう。ソースコードを動かすとき、コンパイルやリンク処理などが必要です。このコンパイルやリンク処理をすることで、「〇〇.exe」という「exe」ファイル拡張子の、ダブルクリックで実行できるプログラムとなります。

ワンポイント

exe 拡張子は英語「Executable file」の略です。実行可能ファイルなんて呼ばれてて、これをクリックしたり、コマンドで実行するとプログラムが動くよ、っていうファイルです。テキストファイルではないので、notepadで開いても通常人間が読むことはできません。

C言語のソースコードをビルドする

コンパイルやリンク処理など、ソースコードをマシンが実行できるプログラム(exeファイル)に変換する処理を統合開発環境上では「ビルド」処理としてまとめることができます。

特になにもこちらで指定しなくても、ソースコードをコンパイルし、リンクするといった、プログラム作成の処理をウラでちゃちゃっとやってくれます。(だからこそ、なにやってくれているのか最初わかりずらいというのはありますけど・・。)

ビルドの流れ ビルドの流れ

実際にビルドしてみましょう。Visual Studio のメニューバーから、 ビルド を選択すると、0010mojihyouji のビルド という選択肢が出ているかと思います。

もし違う名前でプロジェクトを作っていたら、 (そのプロジェクト名 )〇〇のビルド という選択肢となっているかと思います。

では、0010mojihyouji のビルド を選択し、ビルドを行います。

選択したのは良いのですが、画面になにも変化がなかったのではないでしょうか。ビルドが完了しました!とか失敗しました!とかの結果がどうだったのか確認したいですね。

そういったシステムメッセージは「出力ウィンドウ」に出ています。

出力ウィンドウの表示 出力ウィンドウの表示

出力 のタブをクリックして、出力ウィンドウを表示します。

出力タブの場所がわからない場合は、ウィンドウのツールバーの

表示(V)出力(O) を選択することでも表示できます。

さて、出力ウィンドウを表示して、無事にビルドができたかメッセージを確認しましょう。

ビルド後の出力ウィンドウの中身 ビルド後の出力ウィンドウの中身

以下のようなメッセージが出てますね。

出力ウィンドウのメッセージ
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 失敗 となっている場合は、ソースコードを打ち間違えていないか、もう一度確認して打ち直してみてください。

プログラムを実行する

ビルドをしたとき、失敗がカウントされていなければ、ちゃんとプログラムが実行できる状態となっています。実行は デバッグ(D)デバッグなしで開始(H) でプログラムを動かしてみましょう。

結果・・いかがでしたでしょうか。 理想では、黒い画面に「hello, world」と表示される…ですが、ほとんどの方は一瞬だけウィンドウらしきものが表示され、中身をみる間もなく消えたのではないでしょうか。

マシンのスペックによりますが、ウィンドウが表示されたことさえわからず、なにも画面に変化がなかった・・・ように見えるかもしれません。

VisualStudio で新しく空のプロジェクトを作ったときのデフォルト設定として、「プログラムを実行し終えたらコンソールを消す」という設定になっている時、このようなことが起こります。

先ほど書いたプログラムは「hello, world」というメッセージを表示するだけで、なにか入力を受け付けたりする処理を書いていないので、メッセージを表示したら、プログラムは終了しちゃうのです。

プログラム終了時に「なにかキー入力してもらったら終了する」という設定をすることで、解決できます。

コンソールのウィンドウを表示する(終了時に入力を待つ)

ソリューションエクスプローラにある、「0010_moji_hyouji」のプロジェクトを右クリックします。

でてくるメニューからプロパティを選択して、プロジェクトの設定一覧を表示します。

ここでは、ビルドするときの設定を細かく指定できます。

プロジェクトのプロパティウィンドウ プロジェクトのプロパティウィンドウ

構成プロパティリンカーシステムサブシステム の右にある、プルダウンボタンをクリックします。

0102 0080 vs project properties subsystem option select

コンソール(/SUBSYSTEM:CONSOLE) を選択します。 これで、ビルドするとき、明示的にコンソールプログラムであることを指定することとなり、 プログラムの実行が終わったときに、そのままウィンドウを閉じるのではなく、キー入力を求める ようになります。

選択したら、OK ボタンを押して、設定を終了します。

プログラムを実行する(再)

もう一度、プログラムを実行してみましょう。

デバッグ(D)デバッグなしで開始(H)、もしくは、Ctrl + F5 でも起動できます。 このショートカットは頻繁に使うので覚えておくと効率アップするかと思います!

無事に黒い画面にプログラムの実行結果が表示されましたか?いぇい!

C言語でHello, World表示プログラム実行 C言語でHello, Worldプログラムを動作

こんな感じのウィンドウが出ていれば成功です。

プログラムを終了するには、ウィンドウを選択した状態で何かキーを押せば、ウィンドウが閉じて終了されます。ウィンドウ右上のXアイコンで閉じての大丈夫です。

ビルドとプログラム実行を同時に

先ほどはビルド(ビルド(そのプロジェクト名 )〇〇のビルド)をまず行い、 それからプログラムを実行(デバッグ(D)デバッグなしで開始(H)、 もしくは、[Ctrl + F5] )したと思います。

でも今後ソースコードを書き換えたりしたときは、いきなりプログラムを実行で問題ありません。必要なソースコードを書き換えた場合は、ちゃんとプログラム実行するまえにビルドしますか?って聞いてくれます。

ソースコードが変わっていてプログラムの実行を選択 ソースコードが変わっていてプログラムの実行を選択

ここで はい を選択すると、書き換えた最新のソースコードでビルドしてから、プログラムを実行してくれます。

いいえを選択すると、前回ビルドしてできた前回のプログラムが実行されますので、気を付けてくださいね。

次回からはプログラムをちょこちょこ変えながら、今回コピー&ペーストしたソースコードの中身を一行一行、解説をしていこうと思います。

あとがき

今日はここまで。お疲れさまでした。

ページの更新履歴

更新日 更新内容
更新なし
イチからゲーム作りで覚えるC言語
第1章02 アプリ作成のためのプロジェクト作り : PREV
NEXT : 第1章04 printf で迷路モドキの表示 :
 
 
送信しました!

コメント、ありがとうございます。

なんかエラーでした

ごめんなさい。エラーでうまく送信できませんでした。ご迷惑をおかけします。しばらくおいてから再度送信を試していただくか、以下から DM などでご連絡頂ければと思います。

Twitter:@NodachiSoft_jp
お名前:
 
連絡先:
 
メッセージ:
 
戻る
内容の確認!

以下の内容でコメントを送信します。よろしければ、「送信」を押してください。修正する場合は「戻る」を押してください

お名前:
 
連絡先:
 
メッセージ:
 
Roboto からの操作ではないという確認のため確認キーを入れてください。
確認キー=95
戻る
 / 
送信確認へ
コメント欄
コメント送信確認へ

関連ありそうな記事(5件)です!

ゲーム等で使えるつなぎ目のないループするテクスチャ画像の作り方

#ツール#ゲームプログラミング✎ 2021-01-24
ゲームなどで使えるループ画像、パターンテクスチャのツール、手動での作り方をまとめ
広告領域
追従 広告領域
目次
第1章03 初めてのプログラム、文字の表示
第1章03 初めてのプログラム、文字の表示
この記事でやること
この記事でやること
プロジェクトにC言語のソースコードを追加
プロジェクトにC言語のソースコードを追加
はじめてのプログラムで文字を表示
はじめてのプログラムで文字を表示
C言語のソースコードをビルドする
C言語のソースコードをビルドする
プログラムを実行する
プログラムを実行する
コンソールのウィンドウを表示する(終了時に入力を待つ)
コンソールのウィンドウを表示する(終了時に入力を待つ)
プログラムを実行する(再)
プログラムを実行する(再)
ビルドとプログラム実行を同時に
ビルドとプログラム実行を同時に
あとがき
あとがき
ページの更新履歴
ページの更新履歴
Nodachisoft © 2020