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

    KAB-studio.h


    (C)KAB-studio 1999 - 2001 ALL RIGHTS RESERVED.
        http://www.kab-studio.com/
        info@kab-studio.com

    送信日： 2001/04/02(Mon) No.101
    配信数： 3850（ Mag2 + Pubzine ）
＊    発行元： まぐまぐ( URL: http://www.mag2.com/  ID: 0000012198 )
＊    発行元： Pubzine( URL: http://www.pubzine.com/  ID: 590 )
*/
////////////////////////////////////////////////////////////////////

////////////////////////////////////////////////////////////////////
/*              ２００１年３月２８日（水）の更新                  */

・STL & iostream 入門、配信完了！
　 STL & iostream 入門の再放送配信が、とうとう最終回を迎えました。
バックナンバーは Codian やダウンロードルームにてご覧ください。
[ STL & iostream 入門 ]
http://www.kab-studio.com/Programing/STLiostream/
[Codian]
http://www.kab-studio.com/Programing/Codian/
[ ダウンロードルーム ]
http://www.kab-studio.com/Freeware/


////////////////////////////////////////////////////////////////////
/*                ２００１年４月２日（月）の更新                  */
http://www.kab-studio.com/

・表紙壁紙を４月バージョンに！
　毎月恒例、新しい表紙壁紙です。今回は桜の花と物憂げな火美ちゃん。ダ
ウンロードは CG Gallery にて。
[ CG Gallery ]
http://www.kab-studio.com/CG/Gallery/


・「風雅、舞い」スタート！！
　オンライン小説「風雅、舞い」が KAB-studio.h にて連載開始！！　ジャ
ンル的には、現代アクションファンタジー？　舞と雅樹と穂香の活躍をごら
んあれ。
[ 風雅、舞い ]
http://www.kab-studio.com/Novel/Fuga/


////////////////////////////////////////////////////////////////////
/*                        チョー普通な日記                        */
http://www.kab-studio.com/nikki2/

2001/03/25 (Sun)
　研修やら寮やらで色々ブルー。電話の新規加入っていくらくらいかかる
の？　あとはテレビ色々。も〜っと！どれみいい感じ。久しぶりにお相撲見
たり。でももう見づらくなる……。

2001/03/26 (Mon)
　就職前研修（出向）・話力研修前半！　敬語や話し方、その他マナーにつ
いての研修。かなり疲れたです。褒められはしたんだけどね。さらに飲み屋
行ったり。近くにいいとこあるといいよねー。あとヒット数の傾向とか。

2001/03/27 (Tue)
　就職前研修（出向）・話力研修後半。名刺の渡し方や電話の受け方とか。
実際にやってみる練習は良かったかも。でも……。そしてアルジュナ最終
回。結構うまくまとめてて良かったです。

2001/03/28 (Wed)
　寮に行ってくる。カーテン持ってったら全然サイズが足りなかった(泣)。
転入届は市庁舎じゃなく区役所に持ってくんだった(泣)。 USB モデム買っ
たり恐怖のプロジェクトにおののいたり。

2001/03/29 (Thu)
　鏑矢正伝の知られざる秘密……。あとは風雅、舞い関係。いつもと違う感
じのイラストを描くのって大変。ぷらとわ書いたりギルティギアゼクスした
り電気温水器の秘密におののいたり(爆)。

2001/03/30 (Fri)
　入社式！　入社式そのものはすぐ終わったけど、そのあとの手続きが大変
だったり。その他会社の説明とか。あと最終兵器彼女や電気代請求書やアル
ジェントソーマ最終回とかとか。

2001/03/31 (Sat)
　毎月恒例、Ｒへのバックアップ。制作過程の関係でかなりのサイズに。あ
とはぷらとわ書いたり PRIDE 見たり。ルールが違うと試合内容もかなり違
うことに……。ハンターｘハンターが最終回(泣)。


////////////////////////////////////////////////////////////////////
/*                         風雅、舞い                             */
http://www.kab-studio.com/Novel/Fuga/

■　序　−１−

　春。
　大和高校の校門、桜舞い散る中、まだ部活を決めかねている一年生が新し
くできた友人達と下校していく。かと思えば、桜の木の下でストレッチをす
るジャージを着た集団もいる。授業が終わった直後の、一番活気づく時間
帯。
「俺達にも、こんな時期があったんだよなぁ」
「当たり前じゃないか」
　右足にギプスをはめ、松葉杖をつく青年、俊雄が、俊雄よりだいぶ背の低
い少年、信吾と話している。同じ制服を着ていても、これだけ背の高さが違
えばまた違った印象を受ける。穏和そうな俊雄と、せっかちそうな信吾の表
情も、また対照的だった。
「まあ、こんな春の日は物思いにふける、だから筆も進むってもんでしょ」
　松葉杖の青年と同じくらいの背の高さの大人びた体格と、そばかすと三つ
編みの子供っぽい面影が混ぜ合わさった少女、恭子がそうフォローする。三
人は普通のバッグの他に、別のバッグと画板を持っていた。
「それにしても遅いなぁ」
「まだ五分しか経ってないって」
「舞は結構そそっかしいところあるからねぇ。あ、来たみたい」
　わらわらと群がる新一年生を縫うように走る自転車。急ブレーキをかけて
三人の目の前に土煙が舞い上がる。
「ごめん、だってみんな無茶苦茶な停め方してるんだもん」
　慣性が結白舞の長い後ろ髪を大きくなびかせる。高く透き通った声が、三
人に突き刺さった。恭子より少し低いぐらいの背の高さだが、はね上がった
前髪がやや勝ち気そうな面を感じさせる。
「いいわけはいいですよ」
「うん、そんなに待ってないし」
「さ、行こうよ」
　そう言うと、舞が乗るママチャリにバッグを放り込んで、三人は歩いてい
く。舞はそれに併せて自転車をゆっくりと走らせ、下校する他の生徒達とは
別の方向へと進む。
「重くない？」
「いっつも訊くと社交辞令みたいだよ」
「そか」
　松葉杖で歩く俊雄に合わせてだから、自転車はのろのろと進む。それが、
単純に大変そうに見える。
「大変なのは大変なんだけどね」
「でも自転車で来てるのは舞だけなんだからね」
「はいはい、みなさんはバスや電車で片道一時間の道のりをって言うんで
しょー」
　そんな会話をしているうちに、四人はある場所に着く。見上げれば首が疲
れるほど高く茂った木々が並ぶ、この辺りでは最も大きい公園だった。
                                                              (続く)


~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~[KCM]
『ああっ、小説が始まってる！』
「本当に始めたんだね」
『……私も出たい……』
「マンガに出られるって噂もあるけど」
『そんなの信じるほどあたしバカじゃないもん』
「きつー」
『だってだって、ぷらとわいつまで続くの！？　ホントに休止は休止？』
「確かに、適当だよねこのメールマガジンって……」
『つーか作者適当すぎ！　もちっと自覚持て！』
「そうよ！　なんで私のコーナーがひとつもないのよ！！　私だって……」
「あ、金菜先輩……」
http://www.kab-studio.com/
_______________________________________________________________[KCM]


////////////////////////////////////////////////////////////////////
/*                       #pragma twice                            */
http://www.kab-studio.com/Programing/PragmaTwice/

　Version 6.01
バグってなに？

『 KAB-studio.h ３周年目に突入！　 #pragma twice も Ver 6 に！』
「……なんかシャレになんないくらい、長い時間掛かってるような……」
『ま、最後まで付き合ったげるから気にしない気にしない！　で、今回から
は何教えてくれんの？』
「 Ver 6 では〈バグ〉と〈デバッグ〉ってものについて」
『バグってゲームでよく聞くよね、よーするにプログラムのミスってヤツで
しょ』
「そうなんだけど、この辺をもうちょっとしっかりはっきりしておきましょ
う。えーっと、まずビルドについて」
『ビルド？　いつもフツーにしてるじゃん』
「実はその〈フツーにしてる〉のは、いろんなことを自動化してるから〈フ
ツーにできてる〉んです」
『ってことは、ホントはボタンひとつでできることじゃないってこと？』
「そういうこと。じゃ、まずは今回用のプロジェクトを作っちゃおうか。い
つもどおり MFC 使うのでダイアログので作って」
『ほい。とりあえず Ver 5.01 ( No.066 ) の時と同じよーに作るね。プロ
ジェクト名は…… Debug にしよっと』
「作ったらとりあえずビルド」
『ほい』

--------------------構成: Debug - Win32 Debug--------------------
リソースをコンパイル中...
コンパイル中...
StdAfx.cpp
コンパイル中...
Debug.cpp
DebugDlg.cpp
コードを生成中...
リンク中...

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

『そういえば、ビルドってしてる間にも色々としてるんだね』
「基本的には、ビルドは２段階の処理を含んでます。まず〈コンパイル〉」
『のーみそこねこね』
「そう、その会社の元ネタがこれね」
『う”、ボケになんなかった……』
「火美ちゃんなんかが書いたプログラムを、コンピューターが理解できる形
式に変換することが〈コンパイルする〉ってことです」
『そういえば、前に Exe を１６進形式で見たことあったよね。よーするに
あーゆー形にすることを〈コンパイルする〉っていうんだ』
「そういうこと」
『あれでも、そういうふうにすることがビルドってことだと思ってたんだけ
ど』
「実は、コンパイルは、各ソースファイルごとにしかされないんです。って
ことは、最後にそれを全部くっつけて、ひとつの Exe にする必要があるん
です。それを〈リンクする〉って言います」
『トライフォースを集めて〜って』
「それもそうなんだよね……」
『ええっ？』
「トライフォースを〈継なぎ合わせてひとつにする〉からリンクって名前に
したんだって」
『実はゲーム業界って、プログラミング用語ばっか？』
「特に昔はね……。で、ここではとりあえず〈ビルド＝コンパイル＋リンク〉
ってことだけ憶えておいて」
『それが後々重要？』
「っていうか今重要。前に教えた〈テストアプリの作り方〉のとおり、ダイ
アログにボタン追加してメンバ関数作って」
『 Ver 4.01 ( No.051 )のときのね。あ、１年前だ』

void CDebugDlg::OnButton1() 
{

}

「とりあえずこれをこう書き換えて」

v0id CDebugDlg::OnButton1() 
{

}

『どこ違う？』
「 void を v0id に。こうやって、わざとエラーを出してみて」
『あ、そういうことか。ビルドっと』

--------------------構成: Debug - Win32 Debug--------------------
リソースをコンパイル中...
コンパイル中...
DebugDlg.cpp
DebugDlg.cpp(173) : error C2143: 構文エラー : ';' が 'tag::id' 
    の前に必要です。
DebugDlg.cpp(173) : error C2501: 'v0id' : 識別名を宣言するのに、
    型が指定されていません。
DebugDlg.cpp(173) : fatal error C1004: 予期せぬ EOF が検出されました。
コードを生成中...
コンパイル中...
Debug.cpp
コードを生成中...
cl.exe の実行エラー

Debug.exe - エラー 3、警告 0

『注：横に入りきらないから勝手に改行とかしてます！』
「で、こういうエラーを〈コンパイル中に出たエラー〉だから〈コンパイル
エラー〉って言います」
『コンパイルエラー、ってそのまんまね』
「じゃ次。今の元に戻して」

void CDebugDlg::OnButton1() 
{

}

「これ全部削除してからビルドして」
『ほい』

--------------------構成: Debug - Win32 Debug--------------------
コンパイル中...
DebugDlg.cpp
リンク中...
DebugDlg.obj : error LNK2001: 外部シンボル ""
    protected: void __thiscall CDebugDlg::OnButton1(void)" 
    (?OnButton1@CDebugDlg@@IAEXXZ)" は未解決です
Debug/Debug.exe : fatal error LNK1120: 外部参照 1 が未解決です。
link.exe の実行エラー

Debug.exe - エラー 2、警告 0

『を、今回はリンク中だからリンクエラー？』
「その通り。こういうリンク中に発生したエラーを〈リンクエラー〉ってい
います」
『なるほど。削除、元に戻しとくね』
「うん。さて！　ここが重要。〈コンパイルエラー〉と〈リンクエラー〉、
このふたつは〈バグ〉と言いません！！」
『え？　なんで？　プログラムのミスじゃん』
「このふたつのエラーだと、 Exe ができないでしょ。そういうエラーはバ
グって言わないんです」
『じゃ、何をバグって言うの？』
「たとえばこういうの」

void CDebugDlg::OnButton1() 
{
    int *pi = NULL;
    *pi = 100;
}

『えーっと、 int のポインタ作ってそれを NULL で初期化して、そのポイ
ンタが指し示すとこに 100 を……って、 NULL なんだからダメじゃんこ
れ。あ、これがバグの例なんだもんね』
「そう。これをビルドすると」
『エラーになんない』
「実行すると？」
『ダイアログ出た』

ハンドルされていない例外は Debug.exe にあります 
    0xC0000005: Access Violation

『なんか怒られた……これどうすればいいんだっけ』
「 OK 押してダイアログ閉じてから、【デバッグの中止】ボタン押して」
『【デバッグの実行】にバツついてるのね』
「終了させたら、今度は Debug.exe を直接実行してみて」
『直接？』
「プロジェクトのフォルダ開いて、その Debug フォルダに Debug.exe があ
るでしょ、それをダブルクリック」
『ダブルクリックしてボタン押して……うお、なんか嫌なダイアログが！！』

このプログラムは不正な処理を行ったので強制終了されます。
終了しない場合は、プログラムの製造元に連絡してください。

「と、こういうふうに胃の痛くなるダイアログが出ます。ちなみに【デバッ
グ】ボタンを押すと」
『ん？　 VC が立ち上がって……さっきの〈ハンドルされてない〜〉が出た』
「こういうふうに、 VC を経由するとこういうチェックができます」
『で、こういう実行中に出るのが、ホントのバグっていうのね』
「いや、正確には〈ランタイムエラー〉って言います」
『ランタイムって』
「あのランタイム関数とかとは別物。このランタイムはその名の通り」
『実行中のエラー、ってことね』
「このランタイムエラーはバグの一種。つまり他にもバグの種類があるって
こと」
『どんなの？』
「たとえば……」

void CDebugDlg::OnButton1() 
{
    while( 1 )
    {
    }
}

『あ、無限ループだ』
「これはさっきみたくダイアログは出ないけど、動かなくなっちゃうってい
う点でバグ」
『他には？』
「その他、テキスト表示の中の誤字脱字、マニュアル通りに動かない、とか」
『わかった！　つまり、一応実行はできるんだけど思い通りに動いてくんな
い、っていうのをバグって言うんだ』
「そういうこと！」
『じゃ、実行することさえできないコンパイルエラーとリンクエラーはバグ
じゃない、ってことになるわけね』
「ちなみに bug っていうのは〈虫〉って意味」
『虫？』
「コンパイルエラーとリンクエラーは簡単に見つけられるけど、ランタイム
エラーは場所が特定しにくいわけ。それを比喩して、プログラムのどっかに
蟲が蠢いている、と……」
『うわ、なんか嫌……』
「ってのはちょっとウソ入ってるんだけどね」
『なんですと！？』

/*
    Preview Next Story!
*/
『水希ちゃんのウソツキ！』
「ま、今はこの意味の方が良く知られてるけどね」
『じゃ、ホントはなんで bug っていうの？』
「本当に、虫が回線に触れてショートして誤作動した、って話」
『……それウソでしょ』
「ホントだって」
『どうかなー』
「というわけで次回」
＜ Version 6.02 コンパイルエラーをなくす！ ＞
『につづく！』
「ちなみにその虫がスミソニアン博物館に飾られてます」
『それはウソ！！　絶対！』
「 http://americanhistory.si.edu/csr/comphist/objects/bug.htm 」
『……はぅん……』


////////////////////////////////////////////////////////////////////
/*                ２００１年４月９日（月）の更新予定              */
http://www.kab-studio.com/

・KAB-studio.h 縮刷版更新
　 KAB-studio.h が１００号に達したので、いつも通り縮刷版を更新しま
す。これをダウンロードして grep で必要な情報を探し出しましょう。
[ KAB-studio.h ]
http://www.kab-studio.com/Info/MailMagazine/
[ 縮刷版 ]
http://www.kab-studio.com/Freeware/index.html#MailMagazine


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

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


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

    (C)KAB-studio 1999 - 2001 ALL RIGHTS RESERVED.
        http://www.kab-studio.com/
        info@kab-studio.com
*/
////////////////////////////////////////////////////////////////////




