////////////////////////////////////////////////////////////////////
/*

    KAB-studio.h


    (C)KAB-studio 1999 - 2005 ALL RIGHTS RESERVED.
        http://www.kab-studio.biz/
        info@mail.kab-studio.biz

    送信日： 2005/04/04(Mon) No.301
    配信数： 1973
    発行元： まぐまぐ ( URL: http://www.mag2.com/  ID: 0000012198 )
*/
////////////////////////////////////////////////////////////////////

////////////////////////////////////////////////////////////////////
// 祝・６周年！
『どんどんぱふぱふー！』
「このたび、 KAB-studio.h は６周年を迎えました」
『……長！』
「って、別にいつか辞めるわけじゃないんだから、問題ないでしょ」
『それとこれとは別。いい加減ぷらとわ終わらないかなー』
「火美ちゃん、他にコーナーあったっけ」
『あーぷらとわ永遠に続かないかなー！』
「……気を取り直して」
『なんかこのメルマガもちょっと変わったね』
「６周年ということで、少しだけ変わりました」
『「かぶろぐ。」が増えたね』
「「かぶろぐ。」のタイトルをそのまま載せているだけだけど……」
『うわ、手抜き！』
「ちょお普通な日記だけ載せるとちょっと良くないかなと思って」
『あと、「次回予告」なくなったね』
「新しいトップページでは、次回予告を載せる欄がなくなったから」
『ってゆーかぜんっぜん違うね……』
「それにあわせて、更新履歴も変わりました」
『でも全体的には変わらないね。かぶスタのニュースが増えたってくらい』
「KAB-studio.h の .h は？」
『ヘッダーファイルの .h ！』
「そういうこと。 KAB-studio のニュース配信が目的のひとつだから」
『 RSS とかある時代にもうそれって遅れてない？』
「う”……」
『ま、まぁ、じゃあこれからも KAB-studio.h をよろしくねっ！！』
「本年度もよろしくお願い致します！」


////////////////////////////////////////////////////////////////////
// NEW!!
http://www.kab-studio.biz/index.html

2005/04/01 (Mon)
・トップページをエイプリルフールモードに（爆）。
　お騒がせして申し訳ありませんでした〜。
[ ２００５年エイプリルフールネタ ]
http://www.kab-studio.biz/Info/AF/2005/index0.html

2005/04/04 (Mon)
・ほとはー外伝３に P.12 追加。
・ほとはー外伝３の表紙をハオシャオと「ホットハーブ」のお風呂に……。
[ 三人合体ホットハーブ 外伝３ 【ワタシ の キロク】 ]
http://www.kab-studio.biz/Comic/HotHerbA3/index.html

・CG Gallery にほとはー外伝３の新表紙を追加！
http://www.kab-studio.biz/CG/Gallery/index.html#HotHerbA3_200504

・KAB-studio.h 縮刷版更新。
http://www.kab-studio.biz/Freeware/index.html#MailMagazine


////////////////////////////////////////////////////////////////////
// ちょお普通な日記
http://www.kab-studio.biz/nikki2/index.html

2005/03/27 (Sun)
　体調悪くて１１時半起き。４月１日にトップページをリニューアル予定。
その時にほとはー外伝３新表紙掲載予定。かなりエロいです。長期計画で
就職活動しつつ絵を描くってことで。

2005/03/28 (Mon)
　また１１時半起き。 Machician 挿絵が難しい。マンガと全然違う。３時
から歯医者。やっと一本治りました。そして変数を同期に使わない方が
いい？

2005/03/29 (Tue)
　グランドマンボウソファを壊す（爆）。新しいのは買わないかも。
ほとはー外伝３新表紙のラフ描き。今回はホームページリニューアルまで
載せません。そして同期処理とマルチプラットフォーム。

2005/03/30 (Wed)
　ずっとほとはー外伝３新表紙描き。まだ全体の３分の１しか描けてな
い……。昨日は巌窟王最終回。今クール一番でした。そして適当でもなんと
かならない？　そしてベッド買わないの？

2005/03/31 (Thu)
　トップページリニューアル！！　……は、エイプリルフールネタでした。
ほとはー外伝３新表紙の細かい描き方について。透き通るような「みずみず
しさ」を売りにしたいです。それが描き上がったのが午後８時半、それから
エイプリルフール用トップページを速攻ででっち上げ。パプリカの頭ぐるぐ
る GIF アニメ作ったり。エイプリルフールネタができて幸せ……。そして
引っ越すん？

2005/04/01 (Fri)
　まずかぶスタの月例バックアップ。３時から歯医者。歯石取って歯の形が
変わる（汗）。夜に新宿に行って、５月末の香港旅行の申込み。ラーメンの
席での「ボケ」がすごいアイディアだったらしい……？

2005/04/02 (Sat)
　昨日新宿で食べたラーメンの辛さで胃腸を痛める（爆）。本当のかぶスタ
リニューアルの準備。 CG Gallery の更新。トップページの作成。これまで
と全然雰囲気違います。表紙壁紙制廃止。 JavaA2Z の単語追加。そんな感
じにこつこつと。明日はかぶヘッダーの準備とか。


////////////////////////////////////////////////////////////////////
// かぶろぐ。
http://d.hatena.ne.jp/kab_studio/

2005/03/27 (Sun)
http://d.hatena.ne.jp/kab_studio/20050327
起きた。
クイズ！スパイ2/7 （終）
魔法戦隊マジレンジャー Stage.7
掌を返したように。
もえたん来る。
ほとはー外伝３ P.11
ぷらとわ追加。
誤字でヒット数アップ（爆）。
NHKスペシャル「安全の死角〜検証・回転ドア事故〜」
まほらば 第12話
単語追加。

2005/03/28 (Mon)
http://d.hatena.ne.jp/kab_studio/20050328
寒い……眠い……。
そろそろ歯医者。
歯医者。
買ったもの＆予約したもの。
フキダシ。
■本日の常習者サイト!：愛知万博がひどいことに……
小説の挿絵は難しい。
クローズアップ現代のオープニングが格好良く！！
単語追加。
「池袋シネマサンシャイン」での上映延長決定！
月詠 最終回。
第６話 祭の夜に (1)

2005/03/29 (Tue)
http://d.hatena.ne.jp/kab_studio/20050329
グランドマンボウソファ壊れる。
本屋で買ってきたもの。
まんがタイムきららMAX 5月号。
スクールランブル 最終回。
ほとはー外伝３ 新表紙
クローズアップ現代「親の心をつかんだ詩」
単語追加。
巌窟王 最終幕 「渚にて」
第６話 祭の夜に (2)

2005/03/30 (Wed)
http://d.hatena.ne.jp/kab_studio/20050330
起きた。
ほとはー外伝３ 新表紙（主線）
やっぱパス。
第６話 祭の夜に (3)

2005/03/31 (Thu)
http://d.hatena.ne.jp/kab_studio/20050331
起きた。
祝・100ドルオーバー！！
断辛。
背景できた。
やっとできた……。
KAB-studioリニューアル！！
疲れた……疲れたよ……。
同族。
舞-HiME 最終回。
今日も単語追加なし。
あー。
第６話 祭の夜に (4)

2005/04/01 (Fri)
http://d.hatena.ne.jp/kab_studio/20050401
起きた。
KAB-studioリニューアル！！（再掲）
Amazonから送られてきたもの。
そろそろ歯医者。
歯医者。 病気治療
本屋で買ってきたもの。
ちょっとおでかけ。
帰ってきました。
本屋で買ってきたもの。
単語追加。
第６話 祭の夜に (5)

2005/04/02 (Sat)
http://d.hatena.ne.jp/kab_studio/20050402
ううう……。
CG Gallery更新。
単語追加。
縮刷版更新。


////////////////////////////////////////////////////////////////////
// 風雅、舞い
http://www.kab-studio.biz/Novel/Fuga/index.html

■　第十二章　超越する存在　−６−

「あのー、俺金はいらないんですけど」
「私も、ここにいる分には必要ないし」
「同じく」
「！！」
　舞が顔を赤らめる。
　わ、私って貧乏……？
「まぁじゃあ結白君向けということで、優勝者には賞金百万円を用意しま
す」
「！！」
　舞の顔が輝く。
　ひゃ、百万円あったら……何買おう……あ、お母さんには内緒にしな
きゃ。
「さらにもうひとつ。これは賞品というよりルールだけど、勝った人は負け
た人に何でも命令できるというのはどうかな」
「はい」
「はい、リシュネ」
「トーナメントの割り当てによっては命令したい人と当たらない可能性があ
ります」
「トーナメント時にそのためのアンケートを取ることにします」
「はい」
「はい、君」
「命令はどんなことでもできるんですか」
「治外法権領域なので違法行為でもＯＫです」
「はい質問」
「はい結白君」
「勝負ではどんな手段を用いてもいいですか？」
「もちろんです、本当の強さを知りたいんですから」
「はーい」
「はい、朴君」
「穂香の分は？」
「君は二人で一組だから不可」
「ちぇっ」
　……。
　誰一人、このイベントに異論を唱える者はいなかった。
　なぜか。
　負けることを考えている者などいないのだから。
                                                              (続く)


~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~[KCM]
「そうよ、ジャージさんに、かあさん、それにわた…………」
「え…………」
　紫恋の言葉が止まる。顔を押さえて、赤くなって。

Machician 第６話 祭の夜に 好評連載中！
[ Machician ]
http://d.hatena.ne.jp/kab_studio/20040823#1093276416
[ Machician＋設定 最新一覧 ]
http://d.hatena.ne.jp/kab_studio/searchdiary?word=*%5BMachician
_______________________________________________________________[KCM]

////////////////////////////////////////////////////////////////////
// JavaA2Z
http://www.kab-studio.biz/Programing/JavaA2Z/index.html

■追加・更新単語
protectedメソッド
protectedフィールド
protectedクラス
protected
無印クラス
無印メソッド
無印フィールド
無印
アクセスコントロール
アクセス修飾子
アクセス制限
固定小数点
void
ブロック
ネスト
分割子
スコープ
ローカル変数
戻り値
戻値
返り値
返値
return
引数
staticクラス
staticメソッド
staticフィールド
static


////////////////////////////////////////////////////////////////////
// #pragma twice
http://www.kab-studio.biz/Programing/PragmaTwice/index.html

　Version 15.01
ソースファイルのコンパイル

「今回から新章です」
『おおーっ。マルチスレッドのが長かったからなんか久しぶり』
「確かに……残念ながら、今回も長いと思います」
『げげ』
「さて、この Version 15 では、コンパイルとかリンクといった、 Exe 
ファイルの作り方について説明します」
『前も言ったけど、やっぱマニアック』
「プログラミングがマニアックじゃないってだけでもうどっぷりはまってる
証拠じゃないかな……」
『なんかいった！？』
「う”、ごめん……話を戻して、そのコンパイルの話をするために、まずは 
Version 8.01 で作った一番シンプルなプロジェクトを用意します」
『ほい。あの時と同じでいいの？』
「うん。【ファイル】−【新規作成】で、【プロジェクト】のページの
【Win32 Application】を選んで」
『プロジェクト名は？』
「そうだね…… BuildTest で」
『ビルドのテストね。【OK】押して……』

・空のプロジェクト
・単純な Win32 アプリケーション
・標準的な "Hello World" アプリケーション

『やっぱ【空のプロジェクト】？』
「そう。今回も全部一から作りたいから」
『はいはい。【終了】ボタン押して、確認の OK ボタンも押してと。ん、空
のプロジェクトができたよ。 WinMain() 関数も作るの？』
「うん、同じようにソースファイル作って」
『メニューの【ファイル】−【新規作成】で【ファイル】ページを開いて、
【C++ ソースファイル】でファイル名は Main.cpp で』
「そうそう。そうやってファイルを作ると」
『何も書かれてない Main.cpp ファイルが開いた』
「この前と同じように」

#include <Windows.h>

int WINAPI WinMain
    ( HINSTANCE p_hInstance
    , HINSTANCE p_hPrevInstance
    , LPSTR p_pchCmdLine
    , int p_iCmdShow
    )
{
    MessageBox( NULL, "テスト", "WinMain()", MB_OK );
    return 0;
}

「ってして」
『コピペっと。ビルドして実行！　ダイアログ出たよー』
「これで下準備は完了。では、これから、コンパイルってものについて
ゆっくり見ていきます」
『はーい』
「では復習。コンパイルって？」
『 Version 6.01 ( No.101 ) で出てきたね。ソースファイルに書かれた
プログラムをコンピューター用のに変換するんだよね』
「そう。これを実際に見てみましょう。まず、このプロジェクトの
フォルダにある Debug フォルダを開いて」
『 BuildTest\Debug フォルダっと。こんなファイルがあったよ』

BuildTest.exe
BuildTest.ilk
BuildTest.pch
BuildTest.pdb
Main.obj
vc60.idb
vc60.pdb

「これ全部削除して」
『……え？　いいのそれって』
「大丈夫、ビルドしたらまた全部作られるから」
『あ、そうなんだ……ほい、削除したよ』
「じゃ、ビルドしてみて」
『ほい。あ、ホントに全部できた！』
「この中の BuildTest.exe をダブルクリックしてみて」
『実行しろってことねー。ん、【テスト】ダイアログ出たよ』
「というわけで、ビルドして作られた BuildTest.exe が、目的の実行
ファイルということです」
『そだね』
「さて、またこのファイル削除して」
『ほい』
「次は、ビルドじゃなく【コンパイル】してみます」
『へ？　コンパイル……って、それだけでできるの？』
「できるんです。メニューの【ビルド】−【コンパイル】を選んで」
『うわ、ホントにあった。ほい……このファイルができたよ』

BuildTest.pch
Main.obj
vc60.idb
vc60.pdb

『さっきの７つのファイルのうち、４つだけだね……』
「しかも実は、重要なのは」

Main.obj

「このファイルだけです」
『え！？』
「このファイルが、 Main.cpp をコンパイルして作られた、【マシン語】と
いうコンピューターにも分かる言語に翻訳されたものです」
『これが……』
「この、拡張子が .obj のファイルを【オブジェクトファイル】って言って
コンパイルしたソースファイルの数だけ作られます」
『 Main.cpp のオブジェクトファイルだから Main.obj ってこと？』
「そういうこと」

Main.cpp → コンパイル → Main.obj

「という関係です。アウトプットにも」

--------------------構成: BuildTest - Win32 Debug--------------------
コンパイル中...
Main.cpp

Main.obj - エラー　0、警告 0

『おー、 Main.cpp がコンパイルされて Main.obj ができたわけだ。でも、
これだけじゃ動かないんだよね』
「そう。これはただ単に WinMain() があるだけだから」
『それだけで動きそうなもんだけど……』
「ちゃんとした Exe にしないと動かないんです。と、その前に Main.obj 
以外のファイル、つまり」

BuildTest.pch
vc60.idb
vc60.pdb

「の３ファイルを削除しておいて」
『ほい』
「で、この状態でビルドしてみて」
『え？　それだとやり直しなんじゃない？』
「ううん、オブジェクトファイルを作った後にソースファイルを修正してい
なければ、再コンパイルされないからオブジェクトファイルはそのまま」
『 Main.obj がそのまま使われるわけね。んじゃビルドっと……３ファイル
できた』

BuildTest.exe
BuildTest.ilk
BuildTest.pdb

『残りの３つで、 BuildTest.exe もできてるね』
「この最後にしてるのが【リンク】です」
『リンク？　ネットのリンクとかっていうあれ？』
「そうそれ。 link 、〈継なげる〉っていう意味」
『あ、アウトプットにもそう出てる』

--------------------構成: BuildTest - Win32 Debug--------------------
リンク中...

BuildTest.exe - エラー 0、警告 0

「コンパイル後にできたオブジェクトファイルを最後にリンク、つまり繋ぎ
合わせることで、ちゃんとした Exe ファイルが作られるわけです」
『……くっつけてる？』
「この例だと Main.obj がひとつだけだからよく分からないけど、ソース
ファイルが複数あればわかるかな」
『ソースファイルが複数？』
「というわけでもうひとつ、 Sub.cpp ってファイル作って」
『方法同じでいいんだよね』
「うん、全く同じ方法で作って。そのファイルにとりあえず次の関数を
書いて」

// Sub.cpp
void Sub()
{
}

『ほい書いたよ』
「それじゃまず、 Debug フォルダの中のファイルを全部削除して」
『ほい』
「次にコンパイルして」
『ほい。……あれ？』

BuildTest.pch
Sub.obj
vc60.idb
vc60.pdb

『 Main.obj がない……』
「そう。実はコンパイルは、 VC++ で開いていて、一番手前に表示している
ソースファイルしかコンパイルしないんです」
『ええっ？　全ファイルじゃないの？』
「全ファイルコンパイルするのはビルド、ってこと」
『あ……』
「だからさっきの Main.cpp を手前に持ってくれば Main.cpp をコンパイル
できるよ」
『ん、 Ctrl + Tab っと……あ。このメニューの中』

コンパイル(C) Main.cpp

『って書いてあるけど、もしかしてこれがコンパイルするファイルってこ
と？』
「そう」
『ってことは、 Sub.cpp を手前にして……あれ、グレーになってる』
「さっきコンパイルしちゃったからね。 Sub.cpp に改行でも追加して修正
した状態にしてから保存すれば」

コンパイル(C) Sub.cpp

『おー。ここに出てるファイルがコンパイルされるってことね』
「そして、コンパイルしたソースファイルのオブジェクトファイルが作られ
る、というわけです」
『さっきできた Sub.obj ね』
「というわけで次回に続く！」

/*
    Preview Next Story!
*/
『これだけやってきて初めて１ファイルずつコンパイルしたね』
「ビルドだけでたいがい間に合うからね」
『それを今さら教わる理由は？』
「トラブルに対処できるようにするため」
『トラブル？』
「コンパイルエラーとかリンクエラーとか」
『げげ』
「というわけで次回」
＜ Version 15.02 関数とリンク ＞
『につづく！』
「そういう問題に対処する能力こそが求められてるって事」
『なんかそう聞くとかなり難しそう……』

////////////////////////////////////////////////////////////////////
/*                          ご注意！！                            */

・このメールを返信しないでください。
・ご意見・ご希望・ご感想は[チョー普通な日記]よりお送りください。
http://www.kab-studio.biz/nikki2/index.html
・購読登録を解除したいときにはこのページで行なってください。
http://www.mag2.com/m/0000012198.htm
・解除は自分で行なってください。
・バックナンバーはこれらのページにあります。
http://backno.mag2.com/reader/Back?id=0000012198
http://www.kab-studio.biz/Freeware/index.html#MailMagazine


////////////////////////////////////////////////////////////////////
/*
    KAB-studio.h
      Weekly Mail Magazine.
      Written by Kaburaya Seiden.
      http://www.kab-studio.biz/Info/MailMagazine/

    (C)KAB-studio 1999 - 2005 ALL RIGHTS RESERVED.
        http://www.kab-studio.biz/
        info@mail.kab-studio.biz
*/
////////////////////////////////////////////////////////////////////

