#pragma twice

KAB-studio > プログラミング > #pragma twice > 005 Version 1.2 プロジェクトを探検しよう!!

#pragma twice 005 Version 1.2 プロジェクトを探検しよう!!

前のページへ 表紙・目次へ 次のページへ

 Version 1.2
プロジェクトを探検しよう!!


なんかこの前はつまんなかったなー
じゃ、今日はどうかな?
なんか自信ありそ。今回は何するの?
前回作った【FirstProject】を探検するのが、今回のメイン
 フォルダを開き、前回作成した【FirstProject】フォルダを表示する。
 "FirstProject" というファイル名で拡張子の違うものが10ほど、
 "FirstProjectDlg" というファイル名で拡張子の違うものがふたつ、その他
のファイルがいくつか、それと "Debug" と "Res" のフォルダ。
結構多いね。これ全部、VCってのが作ったの?
そう。プログラムを作るのって結構大変だから、プログラマーを必要とし
ない部分は代わりにしちゃおう、っていうこと
便利なもんねー。便利なものは人をダメにするっておじいちゃんが言って
たけど
それは正解だね。このファイルをよく分からないまま使ってちゃちょっと
もったいないかな
で、そのための探検ってことね。でさ、このVCってので見るの?
とりあえずは、それぞれのファイルをドロップしてみようか
ほーい
 マウスカーソルが動き、フォルダの中の一番上のファイル、
 "FirstProject.aps" をVCにドロップする。一番左に数字の列、中央に英
 語と数字の表、右側に文字。
あ〜これ、この前使った【バイナリーエディタ】ってヤツよね
そうそう。VCは、ファイルにあわせて使うエディタを自動的に選んでく
れるから
じゃあ "FirstProject.aps" はバイナリーエディタで見るファイルってこ
とね
んー、って言うよりは<ハズレ>かな
ハズレ?
そ。ファイルにあわせてエディタを変えるんだけど、どれを使えばいいの
か分からないときにはバイナリーエディタを開くことになってるから
つまり?
つまり、僕らが開くべきファイルじゃなかったってとこかな
え〜? だって、あたし達が使わなかったら誰が使うの?
VCが使うんだよ
あ、そっか
このプロジェクトのデータが、このファイルに入ってるってこと
このファイルには何が入ってるの?
何だろうね
知らんのかい!!
だってVCが必要としてるファイルだもの。僕らには関係ないんだし
こいつって……
じゃ、次ドロップして
はいはい
 フォルダから "FirstProject.clw" がドロップされる。エディタが開き、
日本語を含んだ文章が入っている。
何これ、プログラム?
ううん、これはプログラムじゃないよ。一番上の行に<; CLW ファイルは
 MFC ClassWizard の情報を含んでいます。>って書いてあるでしょ
 うん
 【ClassWizard】っていうのは、今度紹介するけどプログラムの中を見通
 しよくしてくれるもののこと。メニューの【表示】−【ワークスペース】
 を選んでみて
表示、ワークスペース、っと
  ウィンドウがふたつの枠に分かれ、一方に先ほどの "FirstProject.clw"
の中身、もう一方にアイコン付きのツリー表示が現れる。
あ、一番下のタブに【ClassView】ってあるよ、これのこと?
そうそう
 勝手に【ClassView】タブをクリックする。 "FirstProject クラス" をルー
トに、 "CFirstProjectApp" と "CFirstProjectDlg" そして "グローバル" の
みっつが表示される。
あ、"CFirstProjectApp" とか "CFirstProjectDlg"って、
 "FirstProject.clw" の中に書いてあるね
 そうでしょ、たとえば

 [CLS:CFirstProjectApp]
Type=0
HeaderFile=FirstProject.h
ImplementationFile=FirstProject.cpp
Filter=N

 って書いてある部分を見てみようか
この "FirstProject.h" とか "FirstProject.cpp" って、フォルダの中に
あるよ。これのこと?
そうそう、分かってるじゃん
でへへ〜
変な照れ方するな
うっさい!!
この文はね、< CFirstProjectApp っていうクラスの、情報が
 "FirstProject.h" に、中身が "FirstProject.cpp" にありますよ、ってこ
 とを意味してるんよ
 クラスってなに? ガッコ?
 ちゃうちゃう。言うより見た方が早いでしょ。 "FirstProject.h" を開
 いて見てみようか
 順番狂っちゃうけど、なんか面白そうだし〜
  "FirstProject.h" がドロップされ、テキストエディタが開き文章が表示
 される。
 あ、これ、これこれ、プログラムってヤツでしょ!!
 そういうこと。これがプログラム
 あ〜! これが< CFirstProjectApp クラス>でしょ!! 
  マウスカーソルがせわしなく動き、
 
 class CFirstProjectApp : public CWinApp

 の行を反転表示させる。
 "class" って書いてあるし、ってことは右の "public CWinApp" っての
が "CFirstProjectApp" の中身なんでしょー。私ってば頭いい!!
悪いけど大ハズレだよーん
だよーんとか言われるとさらにムカツク!! じゃあその下の "{" とか
 "public:" とか "CFirstProjectApp();" とか、そこからどこまでかは分か
 んないけど、とにかくその下がクラスの中身なんでしょ、そうでしょ?
何もそんなに怒んなくても……うーん、一応そうかなー、うん、そう、そ
の通り!!
……あ、じゃあこっちがクラスの中身? そういえばさっきそんなこと言っ
てたし
 今度は "FirstProject.cpp" をドロップする。再び同じような文章が表示
される。
ビンゴ!! こっちにも "CFirstProjectApp" とか書かれてるし、こっち
の方が色々書いてあるし、こっちが中身なんでしょ!?
そう、そうだから落ち着いてよ
ぷん
何回かあとで説明するけど、 "FirstProject.h" には "CFirstProjectApp"
 の情報が、 "FirstProject.cpp" には "CFirstProjectApp" の中身が入っ
 てて、どっちもプログラムとして必要不可欠なものなんだよ
……だから、両方合わせて< CFirstProjectApp クラス>ってこと?
そういうこと。あったまいいじゃなーい!
ふふん、当たり前のことよ
芸達者なヤツ……この中身の解説は、まんまプログラムの解説だから、もう
少し先。とりあえず置いといて、他のファイル見てみようか
はーい
 "FirstProject.dsp" をドロップする。が、ダイアログが表示されてファ
イルの中身は表示されない。
あれ?
あ、これはこの<プロジェクト>のデータを格納しているファイルだから、
このままドロップできないんだ。【ファイル】−【開く】で、【用途】−
【テキスト】で開いてみて。あ、【ファイルの種類】は【すべてのファイル】

これって第3回の時に、バイナリーエディタで開いたときと同じよね。そっ
かー、これで開くと自分の好きな形式でファイルを開けるのねー
そういうこと
 マウスカーソルが動いてファイルダイアログが開き、 "FirstProject.dsp"
を選択してファイルを開く。再び日本語混じりの文章が表示されるが、どち
らかというと "FirstProject.clw" に近い。
何これー、これは全然分かんないなー
でもゆっくり見ていくと、結構分かるところあるよ。たとえば、

CPP=cl.exe

 っていう行あるでしょ
あ、Exeって書いてあるから実行ファイルよね。ってことはこれ、何か
に使われるの?
これは<コンパイラ>っていうアプリケーション
コンパイラ? 日本語で<編集さん>って意味よね。プログラムを見やす
くしてくれるの?
それは結構正しいかな。でも、僕らにとってじゃなくて、コンピューター
にとってね
どういう意味?
僕らが作ったプログラムを、コンピューターの分かるデータに変換してく
れるのが、このコンパイラの役目
??
 "FirstProject.h" や "FirstProject.cpp" の中身を、

00000   4D 5A 90 00 03 00 00 00   04 00 00 00 FF FF 00 00
00010   B8 00 00 00 00 00 00 00   40 00 00 00 00 00 00 00
00020   00 00 00 00 00 00 00 00   00 00 00 00 00 00 00 00
00030   00 00 00 00 00 00 00 00   00 00 00 00 B8 00 00 00
00040   0E 1F BA 0E 00 B4 09 CD   21 B8 01 4C CD 21 54 68

 みたいにしてくれる、って言えば分かるかな?
あ〜!! これ第3回に見たのだーっ!! ……あ、つまり、プログラム
を、こういう実行ファイルの形式のデータに変換してくれるの、それがこの
コンパイラってゆーのなのね!!
そういうことそういうこと。このファイルには、実際に<どうやってアプ
リケーションを作るか>っていう設定が書かれているってこと
へ〜。じゃあさじゃあさ、下の方の "/nologo" とか "/MDd" とか、"/" 
の付いたのがいっぱいあるけど、これは何?
これはスイッチ
電気をつけたり消したりする?
そう、それと同じ。たとえば "/nologo" が書かれていないと、前回した
【ビルド】の時に、色々と表示されるんだよ。書かれていれば、表示されな
い、そういうことのスイッチが、これ
じゃ、そういうの設定する時って、これ書き換えるの
ううん、他に方法があるんだけど、それはまた今度ね
ふーん、じゃこの下の方にある……あ、 "FirstProject.cpp" とかはさっ
きのプログラムが入ってるファイルだものね。これを<コンパイル>するっ
てことなんだー
そういうこと。もうかなり分かってきたんじゃない?
分かったって言えば分かったけど、分かんないって言えば分かんないって
ゆーか……
っていうと?
 "FirstProject.h" とか "FirstProject.cpp" にプログラムが入ってて、
それを "cl.exe" っていう<コンパイラ>が<実行ファイル>にしてくれる、
とかは分かったけど、実際の "FirstProject.dsp" の中身とかってチンプン
カンプンなのよねー
大丈夫大丈夫、それで十分だから!!
え、そなの?
今回の<プロジェクトファイルの探検>は、プロジェクトファイル全体を
見渡すことと、火美ちゃんの不安を取り除くことが目的だから
そういえば、この前なんかはいつのまにかアプリができてたわけだけど、
今回ので<どうやったらできるのか>みたいなイメージできたかも……
というわけでつづく!!
ええーっ!?

/*
    Preview Next Story!
*/
なに、なんで<つづく>なの?
プロジェクトファイルって大きいからねー、あと3回くらい必要かな
あと3回も? なんかクラクラしそう……
大丈夫だって、言ったでしょ、物見遊山の気持ちでいいって
そういえば、今回色々と見てきて、結構面白かったかも
うんうん、結構順調に進んでるなー
というわけで次回
< Version 1.3 プロジェクトとワークスペース >
につづく!!
ってことは、<プログラミング>の話はまだまだ先ってことよね
ぎくっ
 
del.icio.us 登録する
Yahoo!ブックマーク 詳細を表示 users
livedoorクリップ 詳細を表示 livedoorクリップ ブックマーク数
はてなブックマーク 詳細を表示 はてなブックマーク ブックマーク数
RSSに登録
del.icio.us 登録する
Yahoo!ブックマーク 詳細を表示 users
livedoorクリップ 詳細を表示 livedoorクリップ ブックマーク数
はてなブックマーク 詳細を表示 はてなブックマーク ブックマーク数
 
このページは、Visual C++ 6.0を用いた C++ 言語プログラミングの解説を行う#pragma twiceの一コンテンツです。
詳しい説明は#pragma twiceのトップページをご覧ください。