Version 1.4
ワークスペースの裏方さん
「じゃ、今回もプロジェクトファイルの中身を見ていこうか」
『はーい。えっと、この前は "FirstProject.dsw" の中身を見たんだから、
今回は "FirstProject.h" かな。あ、でもこの前見たんだっけ』
「そう、 "Version 1.2" で簡単に見たんだけど、とりあえずもう一度見て
みようか」
『は〜い』
マウスカーソルが動き、 "FirstProject.h" がドロップされる。
『なんか色々と書いてあるね……全然わかんないや』
「ま、今はそうだろうけどね。でも最終的にはこれ全部分かるようになるか
ら」
『難しそう……』
「ま、この辺は次回解説するから、それまで忘れてていーよ」
『はーい。じゃ、次の "FirstProject.ncb" をドロップと……』
続いて "FirstProject.ncb" がドロップされる。が、<共有違反>と書か
れたダイアログが表示される。
『あれ? 何この<共有違反>って』
「ウィンドウズのシステムのひとつで、ファイルを開くときに<このファイ
ルはオレだけが使うんだっ!!>とか指定しておくと、他から開けなくする
ことができたりするわけ」
『確かに自分が使ってるノートにいきなり落書きされたらムカツクよねー』
「確かに……」
『でもさ、ってことはこのファイルは他の何かが使ってるってことよね。何
が使ってるの?』
「このVCが使ってるの」
『え? でも今何も……あ、ワークスペースは開いているから、もしかして
その関係のファイルってこと?』
「そういうこと。ワークスペース閉じてみ?」
【ファイル】−【ワークスペースを閉じる】が選択される。その動きには
無駄がない。
『じゃあドロップして……って、あれ!? "FirstProject.ncb" のファイ
ルがない〜!!』
マウスカーソルがフォルダの上でぐるぐる回る。 "FirstProject.h" の下
に確かにあった "FirstProject.ncb" のファイルがない。
「あるよ、ほら、一番最後の方」
水希がマウスを取り、割り込んで選択する。一覧の最後から2番目に
"FirstProject.ncb" が来ていた。
『あ、ホントだー。でもなんで? 名前順に並べてあったのに』
「このファイルが更新されたから、一番後ろに移動したってこと」
『新しいファイルになったから、最後に追加、ってこと? でも私更新なん
か……あ』
「そゆこと」
『ワークスペース関係のファイルだから、ワークスペースを閉じるとその情
報が書き込まれるんだ……』
「ワークスペース関連、つまり<裏方さん>のファイルって結構あるってこ
とだね」
『ドロップしてみていい?』
「もちろん」
を聞く前に "FirstProject.ncb" がドロップされる。今度はダイアログは
表示されない。バイナリーエディタが起動し、数字とアルファベットが並ぶ。
『バイナリーエディタだからハズレだねー。でも最初の所に "Microsoft
C/C++ program database 2.00" って書いてあるね。<プログラムデータベー
ス>っていかにも<ワークスペースの情報>って感じかなー』
「こんな風に、見て確認すると色々と分かるでしょ。じゃ、ついでにその下
の "FirstProject.opt" も見てみようか」
フォルダの一番最後に "FirstProject.opt" がある。
『ファイル名から考えると、これもワークスペースを閉じたときに更新され
たファイルなんだ……じゃ、ドロップと』
"FirstProject.opt" がドロップされる。再びバイナリーエディタが開く。
『今度は全然分かんない、書いてあること』
「ま、そういうこともあるさ」
『……』
「じゃ、次、 "FirstProject.plg" を見てみようか」
『は〜い。ドロップしてと……』
テキストエディタが開き、日本語の多い文章が表示される。
『あれ? <html>とか<body>って、見覚えあるような……』
「これはホームページなんかで使うHTMLのタグだよ」
『ホームページって、これがホームページなの?』
「そうだよ。ブラウザで確認してみようか」
インターネットブラウザを開き、 "FirstProject.plg" をドロップする。
タグが消え、ローカルホームページとして表示される。
『へ〜。でも、これ、何が書いてあるの?』
「見覚えない? 特に下の<アウトプット ウィンドウ>って部分」
『??』
「じゃ、見てみようか。まず【FirstProject】のワークスペースを開いて」
『それってどうやるんだっけ』
「どうやるんでしょー」
『えっとねー、前回やった方法は、 "FirstProject.dsw" をドロップするの』
「正解!! ちゃんと憶えてるじゃない」
『まーねー』
「他にはメニューの【ファイル】−【ワークスペースを開く】で
"FirstProject.dsw" を選択するとか、【ファイル】−【最近使ったワーク
スペース】の一覧から選ぶとか」
『何よ、それが一番簡単じゃない』
マウスカーソルが動き、【ファイル】−【最近使ったワークスペース】の
中から "FirstProject" を選択する。ワークスペースが開く。
「そしたら【ビルド】−【リビルド】を選んでみて」
『【ビルド】って、確か 1.1 の時に使ったよね。あ、でも【リビルド】と
は違うか』
「【リビルド】は<もう一度【ビルド】し直す>ってこと。だからほとんど
同じだよ」
『へー。あのときは、これしたらアプリができちゃったのよね……』
メニューから【ビルド】−【リビルド】が選択される。ウィンドウが新し
く表示され、ハードディスクのランプが明滅する。
『あ、これ、これよこれ!!』
マウスカーソルがその<新しくできたウィンドウ>の上をめぐるましく回
る。その下の文字は、 "FirstProject.plg" と一致していた。ハードディス
クが止まると、ダイアログが表示される。
『えっと、<このファイルは外部のエディタで変更されています。再ロード
しますか?>だって』
「今リビルドしたでしょ。その結果が新しく書き込まれたから、
"FirstProject.plg" の中身が変わったんで、リロードしますかって訊いて
るんだよ」
『あ、ってことは』
フォルダを表示させれば、 "FirstProject.plg" が一番最後に来ている。
『さっきの "FirstProject.ncb" と同じねー。ビルドすると勝手に更新され
るんだ。でもこれって何に使うの?』
「ネットワーク上のパソコンでビルドさせて、その結果をホームページ上で
見る時に使うらしいよ」
『らしいって何よらしいって』
「知らない。使ったことないもの」
『……』
「さて、今回はこれで終わりだけど、前回と今回をまとめてみようか」
『そうねー、いろんなファイルが出てきたけど、私なりにまとめるとすれば
こんな感じかなー』
FirstProject.dsw :
ワークスペースファイル。下の FirstProject.dsp を含んでる。
FirstProject.dsp :
プロジェクトファイル。どうやってアプリを作るのか、ってことが書
かれてる。スイッチとか cl.exe とか。
FirstProject.clw :
ClassWizard ファイル。クラス(?)のことが書いてあるっぽい。
FirstProject.h, FirstProject.cpp :
クラスってのが入ってる。プログラムが入っていて、必要不可欠。
FirstProject.ncb, FirstProject.opt :
ワークスペースやプロジェクトの裏方さん。何かの情報を持ってる。
FirstProject.plg :
ビルドした時に表示される文章が入ってる。
FirstProject.aps :
わかんない。
『<わかんない>って情けなー』
「で、重要なのは "FirstProject.h" と "FirstProject.cpp" だけ」
『ええっ? 他は要らないの?』
「極端だなー、要らないんじゃなくて、特に気にする必要がないってこと。
この2つ以外は、VCが自動的に更新してくれたり、他の方法で簡単に書き
換えられたりできるからね」
『そういえば "FirstProject.dsp" の時に<スイッチを変える方法が他にあ
る>とか言ってたよね。それ、ちょっと教えてくんない?』
「いいよ。【プロジェクト】−【設定...】ダイアログを開いてみて」
『あ、新しいメニューだね』
マウスカーソルが動き、メニューをクリックする。【プロジェクトの設定】
ダイアログが開く。左半分には【設定の対象】【Win32 Debug】
【FirstProject】などが書かれ、右半分にはタブが並ぶ。
「このダイアログのすべての項目が、 "FirstProject.dsp" と一致してるん
だよ」
『へ〜。でも難しそう……』
「そうかもね。でもたとえば、右のタブの中から【リンク】を選んでみて」
【リンク】タブで表示されたシートには、【カテゴリ】【一般】【出力
ファイル名】などの蘭がある。
『あ、この【出力ファイル名】のところに "Debug/FirstProject.exe" って
書いてあるけど、もしかしてこの名前でアプリが作られるってこと?』
「そういうこと。何もかも難しいわけじゃないでしょ」
『うん』
「それに、【カテゴリ】から【カスタマイズ】を選んでみて」
【カスタマイズ】を選ぶとシートの内容が変わり、【インクリメンタルリ
ンクを行う】などのチェックボックスが現れる。
「この一番下の【開始メッセージを表示しない】をオフにしてみて」
『ポチっと……あれ、その下の【プロジェクトオプション】って欄が少し変
わった気がするけど』
「もう一度押してみれば?」
『ポチっと……あ、 "/nologo" って出てきた……私の記憶が確かなら、
どーっかでこの単語を見たよーな気がなきにしもあらず……』
「 1.2 の時に出てきたでしょ、 "FirstProject.dsp" の中に」
『あ、そうそう、スイッチのひとつで、確か……【ビルド】の時に色々表示
されるとかなんとか。あ、もしかしてこの下の欄って、そのスイッチそのも
のなんじゃない?』
「あたり! この欄の中身がそのまま "FirstProject.dsp" に書き込まれる
わけ」
『で、実際にはこのチェックボックスを操作すればいってことなのね。なん
だ簡単じゃない!!』
「うん、そうでしょ」
『あれ? ツッコミとか、調子に乗るなとか、ダメのダメダメとか言わない
の?』
「簡単だってことが分かること自体が、大切だからね」
『どういうこと?』
「それはまた今度。というわけでつづく!!」
/*
Preview Next Story!
*/
『プログラミングってまだ先?』
「まだ先」
『なんかつまんないなー』
「じゃ、次回はアイコンとかメニューの話」
『え? アイコンなんて簡単に作れるの?』
「作れるんだよね、これが」
『というわけで』
< Version 1.5 リソースファイル >
「につづく!!」
『次回は料理番組?』
「ちゃう」
『釣った魚を逃がす』
「ちゃう」
『大魔人佐々木』
「ちゃう」