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

    KAB-studio.h


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

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

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

2005/04/11 (Mon)
・風雅、舞いにアーカイブを追加開始！
　本メールマガジンで連載している「風雅、舞い」のアーカイブ化を開始。
　毎週１話ずつ追加していく予定です。
　今週は「序」を追加！
[ 風雅、舞い ]
http://www.kab-studio.biz/Novel/Fuga/index.html

・ほとはー外伝3に1話追加。
　P.13を追加しました。ハオシャオに連れられて辿り着いた場所は……。
[ 三人合体ホットハーブ 外伝３ 【ワタシ の キロク】 ]
http://www.kab-studio.biz/Comic/HotHerbA3/index.html

・#pragma twice に以下のアーカイブを追加。
　11.08 文字列クラスふたたび
　11.07 １バイト文字と２バイト文字
[ #pragma twice ]
http://www.kab-studio.biz/Programing/PragmaTwice/index.html


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

2005/04/03 (Sun)
　ほとはー外伝３が尽きる。 Machician 挿絵のラフがダメダメだ。他に
マンガ描くかも。 JavaA2Z の単語追加、あとダビング。明日は就職活動で
ハローワークに。長期計画で行くしかないし。トップページリニューアル。

2005/04/04 (Mon)
　なぜか徹夜。メイドさん絵を描いたりして時間を潰してから、朝９時に
ハローワークへ。検索端末で「パートタイム」の教職関係を検索。意外とい
いの多い。お金いいし。でも怪しいとこも……。午後は風雅、舞いホーム
ページ版の作成。４時から歯医者。上の葉の歯石を取る。あとは JavaA2Z 
の単語登録と Machician 挿絵描き。そして生活費。

2005/04/05 (Tue)
　９時半に目が覚めても実際に起きられるのは１１時。ほとはー外伝３の
ネーム切り。ページ数がすごいことに……。同人誌のページ数。 JavaA2Z 
の単語登録、一日２回は無理。 AIR DVD １巻かなりいい感じ〜。かぶろぐ
とちょお普通な日記の差別化。

2005/04/06 (Wed)
　ダメダメな日。全然眠れなくて朝７時くらいにやっと寝て１２時に起きて
ほとはー外伝３を描き始めるも全然進まず。手術の癒着が原因？　午後６時
に横浜行くもバルドフォースエグゼのフラゲはできず。イケてる２人２０巻
とか購入。そして眠くありません？

2005/04/07 (Thu)
　朝１０時に起きて横浜のゲーマーズへ。バルドフォースエグゼ購入。そし
てしまくり。主人公の声が入ってるのがすばらしい。そして寝ます。

2005/04/08 (Fri)
　朝６時まで月菜シナリオするも眠ってしまい昼１２時起き。頭がぐるぐる
と。３時から歯医者。この前見つかった上の虫歯を削る。帰ってからも
バルドフォースエグゼ。そして睡眠時間。

2005/04/09 (Sat)
　午前中はバルドフォースエグゼ。お昼に新宿に行って旅行の代金の支払い
とプランの相談。ゲーセンでクイズマジックアカデミー2をし始めたらかな
りはまる。惜しい問題を落としたりも……。しなきゃいけないこと多すぎ。


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

2005/04/03 (Sun)
http://d.hatena.ne.jp/kab_studio/20050403
起きた。
[Prog]ぷらとわ追加。
[ほとはー]ほとはー外伝３ P.12
[アニメ]魔法戦隊マジレンジャー Stage.8
[JavaA2Z]単語追加。
[アニメ]まほらば 第13話
まぐまぐがぼろぼろだ……。
激しくどうでもいいんだけど。
起きてます……。
[バルドフォースエグゼ]バルドフォースエグゼ メガボックス。

2005/04/04 (Mon)
http://d.hatena.ne.jp/kab_studio/20050404
6時だ。
おはようございます御主人様♪
くっ……。
[買]コンビニで買ってきたもの。
ハローワーク行ってみます。
帰ってきました。
[辞職][教職]ハローワークで検索。
あああ……。
ちょっとだけ寝ただけで……。
そろそろ歯医者。
歯医者。 病気治療
[買]本屋で買ってきたもの。
[JavaA2Z]単語追加。
[アニメ]創聖のアクエリオン 第1話「天翅の記憶」
寝よう。
[Machician]第６話 祭の夜に (6)

2005/04/05 (Tue)
http://d.hatena.ne.jp/kab_studio/20050405
起きた。
管理人さんに呼び止められる。
[アニメ]アニメ版AIR DVD 第1巻。
パクマン
フルハウス。
[ほとはー]ほとはー外伝３ネーム。
[アニメ]ミルモでポン！ 最終回
[JavaA2Z]単語追加。
[アニメ]エレメンタルジェレイド 第一唱「空と風の謳」
攻殻機動隊 S.A.C. 2nd GIG 第1話「再起動」
いちご100％ 第1話「幻のいちごパンツ」
[Machician]第６話 祭の夜に (7)

2005/04/06 (Wed)
http://d.hatena.ne.jp/kab_studio/20050406
起きた。っつーか……。
暑う……。
横浜で買ってきたもの。
[アニメ]ネギま! 第14話。
[アニメ]極上生徒会 第1話「拝啓、ミスター・ポピット」
ファントム〜見えざる妨害者〜
[JavaA2Z]単語追加。
[Machician]第６話 祭の夜に (8)

2005/04/07 (Thu)
http://d.hatena.ne.jp/kab_studio/20050407
横浜へ
[買][バルドフォースエグゼ]買ってきました。
[バルドフォースエグゼ]プレステ2版特典内容。
[バルドフォースエグゼ]みのりシナリオクリア。
[バルドフォースエグゼ]彩音シナリオクリア。
[バルドフォースエグゼ]月菜シナリオクリア。
歯医者だ！
[Machician]第６話 祭の夜に (9)

2005/04/08 (Fri)
http://d.hatena.ne.jp/kab_studio/20050408
[バルドフォースエグゼ]バルドねこフォース。
あー。
あー。(2)
途中経過。
歯医者。
眠い。
歯医者。 病気治療
[買]本屋で買ってきたもの。
[バルドフォースエグゼ]リャンシナリオクリア。
ホーリーランド 第1話・第2話
[JavaA2Z]単語追加。
[Machician]第６話 祭の夜に (10)

2005/04/09 (Sat)
http://d.hatena.ne.jp/kab_studio/20050409
眠い。
新宿へ。
これから帰ります。
帰ってきた。
テレビ神奈川キターッ！！
[買]新宿で買ってきたもの。


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

■追加・更新単語

演算
演算子
%演算子
%
余り
for
while
do-while
continue
switch
case
default
break
ソート
Comparator
Comparable
実装
実装クラス
ストリーム
System.out
PrintStream
println
print
byte
Byte
フィールド


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

　Version 15.02
関数とリンク

「前回はソースファイルごとのコンパイルについて見てみました」
『一番前に表示してるソースファイルがコンパイルされて、その
ソースファイルの名前のオブジェクトファイルが作られるんだよね』
「そういうこと。で、その複数のオブジェクトファイルをリンクしてくっつ
けることで、 Exe ファイルが作られます」
『ってとこまではまだできてないんだけどね』
「そうだね。というわけで、まず Sub.cpp をこう修正して」

#include <Windows.h>

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

『なんか WinMain() とほとんど同じね』
「分かりやすくするために、ってことで。さて、この関数を WinMain() か
ら呼び出すってことを考えてみます」
『んー、今までの例で言うと、ヘッダーファイルに関数の宣言を書けばいい
んじゃない？　 Version 2.12 ( No.023 ) みたいに』
「それが一番標準的な方法だね。ってことで、 Sub.h を作って」
『ほい。【ファイル】−【新規作成】で【ファイル】ページを開いて、
【C/C++ ヘッダーファイル】でファイル名は Sub.h 、っと』
「そこに、 Sub() の宣言を書きます」

// Sub.h
void Sub();

「そして、それを 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
    )
{
    Sub();
    return 0;
}

「まず、 Sub.h をインクルードします」

#include "Sub.h"

「そしたらもう呼べるので、呼び出します」

    Sub();

『簡単ねー。ビルドして実行、お、 Sub() ダイアログ出た』
「で」
『で？』
「一見簡単に何気なく呼び出せてるように見えますが、この関数呼び出しに
は複雑な背景があるんです」
『そうなの？　なんか全然普通に呼び出せてるけど』
「というわけで、ひとつずつ試してみましょう。 Debug フォルダの中を空
にして」
『ほい、ファイル削除っと」』
「次に Sub.cpp の中の Sub() をコメントアウトしてください」

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

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

『……へ？　コメントアウト？』
「そう。つまり関数そのものを削除ってこと」
『そんなことしちゃまずいんじゃ……』
「そのまずくなる所を細かく見ようっていう話。まず、この Sub.cpp を
コンパイルして」
『ほい、コンパイルっと。……通った……』
「そう、まずこの時点でコンパイルエラーにはなりません」
『なんか、コンパイルエラーになりそうだったんだけど……』
「では次、 Main.cpp をコンパイルして」
『ほい。 Main.cpp を手前に持ってきてコンパイルっと……え……ええええ
ええ！？　通っちゃった！！　なんでコンパイルエラーにならないの！？』
「そう、コンパイルエラーにならないんです。じゃ、最後にリンクしてみ
て」
『う、うん。ビルドっと……あ、良かった、エラー出た……』

--------------------構成: BuildTest - Win32 Debug--------------------
リンク中...
Main.obj : error LNK2001: 
    外部シンボル ""void __cdecl Sub(void)" (?Sub@@YAXXZ)" は未解決です
Debug/BuildTest.exe : fatal error LNK1120: 外部参照 1 が未解決です。
link.exe の実行エラー

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

『でも、リンクの時にエラーが出るなんて……』
「なんでこうなるのか、をひとつずつ見ていきます。まず、話を分かりやすく
するために、話を Main.cpp に絞ります」
『 Sub.cpp は無視？』
「そう、無視。と、本当に無視してみようか」
『本当に無視？』
「ワークスペースの【FileView】の、【BuildTest】−【Source Files】を
開いてみて」
『うん。 Main.cpp と Sub.cpp が入ってる』
「この Sub.cpp を右クリックして」
『あ、メニューに【コンパイル】とかある！』
「それは置いといて、メニューの中から【設定】を選んで」
『ほい。【プロジェクトの設定】ダイアログが出たよ』
「右側の【一般】ページを開いて、【このファイルをビルドしない】を
チェックして」
『ほい。あ、アイコンが変わった……』
「下向き矢印が消えたでしょ。【OK】ボタン押してダイアログ閉じて、 
Main.cpp を次のように修正して」

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

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

「これでリビルドしてみて。通るでしょ」
『あ、ホントだ……』
「さっきの【このファイルをビルドしない】をチェックすると、その
ソースファイルはコンパイルされないんです」
『本当に無視するってこーゆーことなんだ。 Debug フォルダに Sub.obj も
ないし』
「さて、無視できたところで、 Main.cpp を今度はこう修正してみて」

// 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() 関数の本体……がない、っていうのがつまりさっきのと同
じ状態ってこと？』
「そういうこと。関数の本体、つまり定義がなくて、宣言があるだけ」
『それでも……』
「そう。 Debug フォルダの中身を空にして、コンパイルしてみて」
『……通った』
「実は、関数を呼び出す時っていうのは、関数本体じゃなく、宣言を見てる
んです」
『ええっ！？』
「宣言がありさえすれば、コンパイルは通るんです」
『でも、リンクは通らない……』
「実はリンクでしているのは、関数の結び付けなんです。呼び出している所
と、関数本体をリンクの時に結び付けるんです」
『その時に本体がないからリンクでエラーになる！』
「それでこのエラー」

Main.obj : error LNK2001: 
    外部シンボル ""void __cdecl Test(void)" (?Test@@YAXXZ)" 
    は未解決です

「 Main.obj は関数を呼び出してるソースファイルのオブジェクトファイル
で、【外部シンボル】はその呼び出している関数のこと」
『そのあとの長いのが……』
「 "void __cdecl Test(void)" は？」
『あ、普通に関数だ。 __cdecl って Version 8.01 ( No.143 ) でやったの
だし』
「 (?Test@@YAXXZ) は、その関数の特殊な書き方」
『まー Test ってのは関数名なんだろうけど』
「で、この外部シンボル、つまり関数が見つからないので【未解決】ってこ
と」
『なるほど……』
「リンクするときに関数を探しているわけだけど、この探す相手が、
コンパイルしてできたオブジェクトファイル全部」
『え？』
「というわけで、まずさっきの Sub.cpp をコンパイルできる状態に戻して」
『さっきの【このファイルをビルドしない】のチェックを外すってこと？』
「そういうこと。そして Sub.cpp をこう修正して」

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

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

『って、ほとんどさっきと同じ……あ、呼び出す関数が Test() になって
る』
「これでリビルドすれば」
『【Sub()】ダイアログが出た！』
「というわけで次回に続く！」

/*
    Preview Next Story!
*/
『こうやってちゃんと理解していくことが大事？』
「そ。 LNK2001 のエラーが出ても、ちゃんと解決できるでしょ」
『今までだと、適当に色々試してうまくいけばいい、ってしてたかも……』
「次回はインクルードファイルについて正確な理解をしてもらいます」
『宣言を読み込むだけじゃないの？』
「実はソースファイル代わりにもなるんです」
『ええっ！？』
「というわけで次回」
＜ Version 15.03 インクルードはただの置き換え ＞
『につづく！』
「ほとんどヘッダーファイルだけでプログラムを組むこともできます」
『う、それはなんか嫌だ』


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

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

