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

    KAB-studio.h


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

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

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

2005/04/18 (Mon)
　ほとはー外伝３にP.14を追加！
[ 三人合体ホットハーブ 外伝３ 【ワタシ の キロク】 ]
http://www.kab-studio.biz/Comic/HotHerbA3/index.html

2005/04/18 (Mon)
　風雅、舞い ホームページ版にアーカイブ追加！
第一章 予言と運命
[ 風雅、舞い ]
http://www.kab-studio.biz/Novel/Fuga/index.html

2005/04/18 (Mon)
　#pragma twice ホームページ版にアーカイブ追加！
11.10 いろいろあるメモリ確保の方法
11.09 メモリを動的に確保する
[ #pragma twice ]
http://www.kab-studio.biz/Programing/PragmaTwice/index.html


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

2005/04/10 (Sun)
　１０時半に起きて午前中はのんびり。ほとはー外伝３書いたりかぶヘッ
ダーの送信予約したり。風雅、舞いアーカイブ版スタート。 JavaA2Z の単
語追加が後手後手。

2005/04/11 (Mon)
　朝起きたら鼻水がすごいことに。午前中はハローワークで検索。結構いい
のが。 SE 系は件数が少ない……。午後は版権物イラスト描き。ただいま
極上生徒会を強烈プッシュ中。 JavaA2Z の単語追加に時間掛かるように。
バルドフォースエグゼ、バチェラシナリオクリア。 sakusaku が観られるよ
うに。そして風邪。

2005/04/12 (Tue)
　風邪です（爆）。花粉症かと思ったら、目がかゆくないし、熱があった。
課題夢にうなされる。起きてからはのんびりとバルドフォースエグゼ。明日
は失業認定日です。

2005/04/13 (Wed)
　今日は２回目の失業認定日。朝８時半に起きてハローワークへ。誤って
求職に応募したら面倒なことに……。とりあえずキャンセル。内容は良かっ
たんだけど。昼寝して以上。そして風邪ですか。

2005/04/14 (Thu)
　里帰りのためお休み。

2005/04/15 (Fri)
　現在１６日午前７時。１５日は午後２時くらいに帰宅。３時から歯医者。
夕方６時半に出て新宿へ。クイズマジックアカデミー２したり飲み屋でだ
べったりボーリングしたりビリヤードしたり。朝６時にの電車で帰ってきて
７時に帰宅。そして取引相手。

2005/04/16 (Sat)
　昼２時起き。かぶヘッダーの準備したり、ビデオのダビングしたり。 
sakusaku をとっとくかなぁ。あと昼寝。なんか今日はダメダメ。


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

2005/04/10 (Sun)
http://d.hatena.ne.jp/kab_studio/20050410
起きた。
魔法戦隊マジレンジャー Stage.09
ゾイドジェネシス 第1話
ほとはー外伝３ P.13
ぷらとわ追加。
風雅、舞いアーカイブ化スタート。
メルティブラッド アクトカデンツァ
まんがタイムきらら5月号
単語追加。

2005/04/11 (Mon)
http://d.hatena.ne.jp/kab_studio/20050411
起きた。
ハローワークで検索。
まほらば 第14話 「夏の終わりに」
極上生徒会・蘭堂りの＆プッチャン
お見合い
まぁ。
歯医者。
また地震かよー！
受付確認ハガキ到着。
単語追加。
バチェラシナリオクリア。
風邪でした（爆）。
創聖のアクエリオン 第2話
勇者王ガオガイガーFINAL 第1話「勇者王新生！」
第６話 祭の夜に (11)

2005/04/12 (Tue)
http://d.hatena.ne.jp/kab_studio/20050412
起きた……。
単語追加。
憐シナリオ中。
なんでmain()はstaticメソッドなんだろう。
憐シナリオクリア。
第６話 祭の夜に (12)

2005/04/13 (Wed)
http://d.hatena.ne.jp/kab_studio/20050413
失業認定日 2回目
今回の求職内容
やべ……。
極上生徒会 生徒会長・神宮司奏＆遊撃・和泉香
単語追加。
ネギま! 15時間目
極上生徒会 第2話「ほとばしる青春」
第６話 祭の夜に (13)

2005/04/14 (Thu)
http://d.hatena.ne.jp/kab_studio/20050414
今日はおでかけ。
第６話 祭の夜に (14)

2005/04/15 (Fri)
http://d.hatena.ne.jp/kab_studio/20050415
ブログモードを試してみる。 Tips
帰ってきました。
歯医者。
歯医者。 病気治療
ブログモードを試してみる。 Tips
新宿行ってきます。
これから帰る。
第６話 祭の夜に (15)

2005/04/16 (Sat)
http://d.hatena.ne.jp/kab_studio/20050416
起きた。
OPシングル。
蓮イボ
ローカルルーティング。
稼頭央　左目を痛め欠場　コンタクトずれ傷
バジリスク 第1話
単語追加。


////////////////////////////////////////////////////////////////////
// 風雅、舞い
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

■追加・更新単語
標準入出力 
標準出力 
コンソール 
char 
Character 
メソッド 
this 
super 
Applet 
アプレット 
四捨五入 
切り上げ 
切り捨て 
スケール 
インデント 
オブジェクト 
オブジェクト指向 
ガベージコレクション 
ガーベジコレクション 
ガーベッジコレクション 
ガーベージコレクション 
隠蔽 
カプセル化 
整数 
コンクリートクラス 
main 


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

　Version 15.03
インクルードはただの置き換え

「前回は、関数の呼び出しはリンクするときに解決するんだってことを説明
しました」
『あれにはビックリしたー。関数って、宣言さえあれば一応呼べちゃうの
ね』
「コンパイルは通るからね。さて現在、ソースファイルとヘッダーファイル
は次のようになっていると思います」

// Main.cpp
#include <Windows.h>

void Test();

int WINAPI WinMain
    ( HINSTANCE p_hInstance
    , HINSTANCE p_hPrevInstance
    , LPSTR p_pchCmdLine
    , int p_iCmdShow
    )
{
    Test();
    return 0;
}


// Sub.cpp
#include <Windows.h>

void Test()
{
    MessageBox( NULL, "サブ", "Sub()", MB_OK );
}


// Sub.h

void Sub();

『そういえば、 Sub.h の Sub() の宣言ってほっといていいの？』
「宣言だけあって定義のない関数があっても、その関数を呼びさえしなけれ
ば大丈夫。関数を呼んじゃうと、リンクするときに定義がないからエラーに
なるけど」
『呼びさえしなければ問題ないんだ。あ、もうひとつ！　Test() の宣言っ
て Sub.h になくていいの？』
「そう、そこがちょっと分かりにくい所かも。普通、関数の定義は
ソースファイルに、宣言はヘッダーファイルに書きます」
『だよね』
「でも、それは〈便利〉だからそうしてるだけで、必ずしもそうしなくてい
いんです」
『え”、そうなの？』
「というわけで、そもそもヘッダーファイルってなんなのか、って考えてみ
ます」
『ヘッダーファイルがなんなのか……？』
「まず、これを試してみて」

// 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;
}

『ん、フツーに実行できるよ。一番最初の例と変わらない……』
「では次。同じく  Main.cpp をこう修正して」

// Main.cpp
#include <Windows.h>

#include "Sub.h"

『えーっと…… WinMain() がないよ？』
「というわけで、 Sub.h に追加します」

// Sub.h

int WINAPI WinMain
    ( HINSTANCE p_hInstance
    , HINSTANCE p_hPrevInstance
    , LPSTR p_pchCmdLine
    , int p_iCmdShow
    )
{
    MessageBox( NULL, "メイン", "WinMain()", MB_OK );
    return 0;
}

『ええーっ！？　ま、まさか……うわ、ビルドして実行、【メイン】
ダイアログ出たよ……どうして？』
「理由は簡単。 Main.cpp で Sub.h をインクルードしてるでしょ。実は、
インクルードは〈インクルードしたファイルと置き換わる〉ってことなんで
す」
『置き換わる……』
「つまり、実際にはこうなってるってこと」

// 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;
}

『うわ、同じ。つまりコピペされてるみたいなもんなのね……』
「そう、そこが重要。まず、今のインクルードの説明で、最初の Test() 
関数の宣言場所の話は分かったでしょ」
『そか、 Sub.h に書かれてても、実際にはインクルードした Main.cpp の
頭に書かれてるのと同じだから、関係ないんだ』
「そういうこと Main.cpp が」

// Main.cpp
#include <Windows.h>

#include "Sub.h"

int WINAPI WinMain
    ( HINSTANCE p_hInstance
    , HINSTANCE p_hPrevInstance
    , LPSTR p_pchCmdLine
    , int p_iCmdShow
    )
{
    Test();
    return 0;
}

「で、 Sub.h が」

// Sub.h

void Test();

『でも、インクルードしてるんだから』

// Main.cpp
#include <Windows.h>

void Test();

int WINAPI WinMain
    ( HINSTANCE p_hInstance
    , HINSTANCE p_hPrevInstance
    , LPSTR p_pchCmdLine
    , int p_iCmdShow
    )
{
    Test();
    return 0;
}

『と同じってことなんだ』
「だから、関数の宣言は別にヘッダーファイルでしなくてもいいってこと。
Test(); って呼び出す前に出てくればいいだけ」
『？　前に出てこなきゃダメ？』
「そう、だめ。たとえば」

// Main.cpp
#include <Windows.h>

int WINAPI WinMain
    ( HINSTANCE p_hInstance
    , HINSTANCE p_hPrevInstance
    , LPSTR p_pchCmdLine
    , int p_iCmdShow
    )
{
    Test();
    return 0;
}

#include "Sub.h"

「ってすると、コンパイルエラーになります」

Main.cpp(11) : error C2065: 'Test' : 定義されていない識別子です。

「そういえば、 #include みたいに、頭に # がついているものってなんて
言うか憶えてる？」
『プリプロセッサだよね、 Version 6.05 ( No.105 ) でやった。確か、
コンパイルするまえに……コンパイルする前？』
「そう、インクルードっていうのはコンパイル前にされるんです。だから、
イメージとしては、 Main.cpp は、コンパイル直前に、 Windows.h と 
Sub.h の中身がそのまま書き込まれていると思ってください」
『インクルードしたファイルがそのまま書き込まれる……そしてそれが
コンパイルされる！』
「そのコンパイルは、上から順に見ていきます。そして、関数宣言があれば
記憶して、関数呼び出しがあれば、憶えた関数宣言の中にあるかどうか調べ
て、あればリンク用に取っておいて、なければさっきの C2065 」
『上から見ていって、宣言があれば憶えておく……』
「しかも、これはコンパイル単位でするから……」
『だから？』
「次回に続く！」

/*
    Preview Next Story!
*/
『ヘッダーファイルって、ソースファイルにもなるのねー』
「でもそうすると不思議に思わない？」
『ヘッダーファイルなんていらない！』
「そういうこと。でもヘッダーファイルがあると便利なんです」
『なんで？』
「というわけで次回」
＜ Version 15.04 ヘッダーファイルは必要？ ＞
『につづく！』
「残っているものにはちゃんと役割があるんです」
『深く考えずに使っちゃってるけどそういうもんなのね』


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

・このメールを返信しないでください。
・ご意見・ご希望・ご感想は[チョー普通な日記]よりお送りください。
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
*/
////////////////////////////////////////////////////////////////////

