Version 1.6
支えるファイル達
『じゃ、早速行ってみよー!』
「元気だねー。今日は "stdafx.cpp" について。とりあえず見てみようか」
// stdafx.cpp : 標準インクルードファイルを含むソース ファイル
// FirstProject.pch : 生成されるプリコンパイル済ヘッダー
// stdafx.obj : 生成されるプリコンパイル済タイプ情報
#include "stdafx.h"
『上3行に日本語、最後にわけ分かんないの』
「簡単にだけど、プログラミングのこと、見ていこうか」
『え”っ、いきなり? ちょっと心の準備が……』
「大丈夫だって。上3行の一番左に "//" ってあるでしょ」
『うん、ある』
「これは<コメントアウト>って言って、ここから改行までは<プログラミ
ングじゃないですよ、ただのコメントですよ>っていう意味」
『え、ってことはこの3行って、プログラムじゃないの?』
「そういうこと。ただの解説」
『なーんだー。でも書いてあること全然分かんないけど……』
「で、重要なのは下の方。これは、プログラムの一部」
『う”、こっちも分かんない……でも右の "stdafx.h" ってファイルだよ
ね。フォルダの中にあるし』
「そうそう。左の "#include" っていうのは、<このファイルの中のものを
利用しますよー>っていう意味」
『利用するの?』
「前回さ、 "resource.h" を見た時に、中に<ダイアログのID>とかあっ
たでしょ。ああいうのを利用するときとかに、こういう風に "#include" を
使うんだよ」
『ってことは、いろんなところにいろんなものがあって、 "#include" を使
うと簡単に利用できるってことなんだー』
「そういうこと。たとえば "FirstProject.cpp" の中、ちょっと見てみよう
か」
『これもプログラムの入ったファイルだよねー』
カーソルが動いて "FirstProject.cpp" ドロップする。先頭に、
// FirstProject.cpp : アプリケーション用クラスの定義を行います。
//
#include "stdafx.h"
#include "FirstProject.h"
#include "FirstProjectDlg.h"
と書かれている。
『ここでも "#include" 使われてるね。そういえばこのファイルも
"stdafx.h" を指定してるね』
「じゃ、そのファイル見てみようか」
"stdafx.h" をドロップする。
『う”、またもや分かんないのが……でも "#include" も……あれ? さっ
きのは "" で囲んでたのに、今度は <> で囲んでるね』
「これが実はミソ」
『ミソ?』
「 <> で囲んでいる時には<外のファイルを利用する>ってことなんだよ」
『外って、つまりこのフォルダにないファイルってこと?』
「そういうこと。たとえば……」
#include <afxwin.h> // MFC のコアおよび標準コンポーネント
「ってあるけど、この "afxwin.h" ってファイルは
"C:\Program Files\Microsoft Visual Studio\VC98\MFC\Include" っていう
フォルダに入っているんだよ。あ、どこにインストールしたかによって違う
から皆さん気を付けてね」
『って誰に言っとねんってゆーお約束のツッコミはおいといて、じゃ、この
フォルダ開いてみるね』
マイコンピューターを開き、奥へと入っていき、そのフォルダを開く。大
量のファイルが表示され、その多くは "Afx" から始まり、 ".h" や ".rc"、
".inl" の拡張子を持っている。
『うわー、なーんかファイルいっぱいあるね』
「じゃ、さっきの "afxwin.h" を見てみようか」
"Afxwin.h" がドロップされる。長いプログラムが表示され、日本語がか
けらも存在しない。
『う”〜、う”〜、全然分かんないよー』
「でも見慣れたのもあるでしょ」
『はいはい、そのパターンねー……うん、 "#include <afx.h>" とかは分か
るけどねー……って、また外のファイル使うの? このファイルすごく大き
いのに』
「そういうこと。これ以上見ていくと切りないけどね」
『ええっ!? ずーっとずーっと続いていくの?』
「い、いや、もちろん最後はあるんだけど、まだ先だし、とりあえず今日は
ここまでってこと」
『なーんだー、ちょっと心配しちゃった。でも……ものすごく多いね。これ
全部憶えるの大変そう』
「憶えられないって」
『憶えなくていいの?』
「もちろん。で、簡単にまとめ。今日のここまでの感想は?」
『そうねー、ものすごーくいろんなファイル、使うんだねー、っていうのが
率直な感想』
「そう! それが分かればもう全然オッケー!」
『な、なに?』
「今回見たような "#include" での、他のファイルを利用してくのもそうだ
し、<プロジェクトファイル>や<ワークスペースファイル>とかみたいな
のもそうだけど、ものすごくいろんなファイルがあったでしょ」
『そうよねー、あとプログラムの入った "FirstProject.cpp" とかも私が
作ったものじゃないし、なんていうか、私が<アプリ作ろー>ってしたこと
に対して、ものすごく多くのいろんなファイルがサポートしてくれてる感じ
がするかなー』
「そういうこと。で!」
『で?』
「プログラムを組む、ってことは、こういういろーんなファイルのサポート
の元にあるってことを忘れちゃダメ」
『そうよねー、いろんなファイルに支えてもらってるんだ』
「で、これから当分の間、こういう<支えてくれる存在>をいかに利用する
か、を中心に解説していくから」
『使い方を勉強するってことよね。でも、理解とかしてかなきゃまずいんじゃ
ない?』
「もちろんね。でも使い方が最初。どんな言葉だって、文法はあとからつい
てくるものでしょ」
『そりゃそうよねー、文法がどうとか考えるよりも、相手にどう伝わるか、
自分の気持ちをどう表現するか、ってことが大事かなー』
「そういうこと。文例を紹介して、それをうまく使い回す方法とか、どう読
み下すかとか、プログラミングでのそういう部分を解説してくから」
『確かに、いきなり文法考えて文章考えたりしないよねー、 "Hello, my
name is Kami." から始まって、これをこういう場面で使いましょう、ってい
うふうに勉強してくものね』
「そういうこと。プログラミングも同じだから」
『同じなの?』
「同じだよ。だいたい、今の解説書は文法ばかりで、それだけ分かればプロ
グラムが組めると思ってるんだから……」
『愚痴モード入ってるとこ悪いんだけど、今日はこれで終わり?』
「あ、うーん、えーと、じゃ、最後にこれだけ見ておこうか。 "Debug" フォ
ルダ見てみて」
『えっと、 "FirstProject" の "Debug" フォルダだよね』
マウスカーソルが "Debug" フォルダをダブルクリックする。"Debug" フォ
ルダが開き、ファイル一覧が表示される。 "FirstProject.exe" 他、ほとん
どのファイルに "FirstProject" が付いている。
『あーっ、 "FirstProject.exe" って、これがもしかして作ったアプリ?』
「そうだよ」
『でもアイコンが変〜』
「アイコンはまた今度ね〜。じゃ、このフォルダのファイル、全部削除して」
『ええ〜? せっかく作ったのに……』
「削除して、また作ってみるの」
『あ、そういうことね』
フォルダ上をドラッグしてすべて選択し、<削除の確認>ダイアログが表
示される。
「え”、今何したの?」
『 "Shift + Delete" だよ』
「そんなキーアサインも知ってるんだ……」
『で、どうするの? もう一度作るって言ったよね』
「そう。で、憶えてるかな、<アプリを作る方法>」
『えっと……確か、<ビルド>とか<リビルド>とかだよね』
「そうそう。今回は全部作り直しだから、<リビルド>の方がいいかな」
『じゃ、しちゃうねー』
マウスカーソルが動き、メニューの【ビルド】−【リビルド】を選択する。
「じゃ、さっきのフォルダを見てみようか」
タスクバーから "Debug" フォルダを選択し、手前に表示する。段階的に
ファイルが表示され、最後に "FirstProject.exe" が表示される。
『ふーん、こんな風にアプリケーションって作られるんだー。このほかのファ
イルは見なくていいの?』
「これはまた今度、って感じかな。ドロップしてもバイナリーエディタが開
くことになるし。でもこれも」
『支えてくれるファイル、ってことよね』
「そういうこと。これらのファイルが手助けして、 "FirstProject.exe" が
作られるってところかな」
『で、こういう支えてくれるファイルを元に、どういうふうに使っていくか、
ってことをこれから勉強するってことよねー』
「うん、もちろんこれからが大変なんだけど、ついてこれる?」
『無理でしょ』
「……」
/*
Preview Next Story!
*/
「ふー、プロジェクト編長かったねー」
『じゃ、来週から早速プログラミング?』
「それは再来週から。来週は特別企画!」
『特別企画ぅ!?』
「というわけで次回」
< Version 1.7 ところで……VCって? >
『につづく!!』
「もっと基本的な質問が来てるから、それにお答えしようってね」
『確かにねー、いきなりVC使ったけど、よく分かんないし』
「他の言語や環境についても解説します。プログラミングはそれから!」