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

    KAB-studio.h


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

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

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

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

2005/10/10 (Mon)
　#pragma twice ホームページ版にアーカイブ追加！
13.21 ソートのまとめ
13.22 最強の敵・日時
[ #pragma twice ]
http://www.kab-studio.biz/Programing/PragmaTwice/index.html


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

2005/10/02 (Sun)
　密度高い一日。カブカテキョを書きつつ感想書き。ゲーム版極上生徒会を
コンプ。夜は「Ajaxで」を。こっちをもっとがんばってみるかなぁ。そして
何でもアニメ化。

2005/10/03 (Mon)
　実家からの荷物で目が覚める。午後過ぎまで死んでた。仮眠取って復活。
カブカテキョ書き。夜は Machician 書き。そして原作リスク。

2005/10/04 (Tue)
　午前中は洗濯。午後はほとはー外伝３の新キャラ起こし。ぷらとわ１話と
JavaA2Z の単語追加で以上。アニメの新番組チェックで忙しい。 RSS って
どのくらい使われてる？　かぶスタ RSS を作るべきか……。

2005/10/05 (Wed)
　ほとはー外伝３のネームを１ページ半。 JavaA2Z はこのところ毎日。
カブカテキョとかかぶヘッダーの準備とか。仮眠は難しい。

2005/10/06 (Thu)
　午前中はカブカテキョ。午後は JavaA2Z 。 Google AdSense に怒られる。
修正してメール送ったから大丈夫……だと思う。夜になったら体調悪くなっ
て以上。

2005/10/07 (Fri)
　夕方まで死につつカブカテキョ。仮眠取ってから JavaA2Z 書いて以上。
まだほとはー外伝３できてないし、某専門学校のテキスト書きの推敲依頼が
来たしでちょっと忙しい。日によって好不調の差が激しすぎ。

2005/10/08 (Sat)
　午前中はカブカテキョ。午後は某専門学校のテキスト書きの推敲。夜は
ぐだー。作業量少ない……？　Google AdSenseで振込失敗発生。なんか金の
話ばっか。


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

2005/10/02 (Sun)
http://d.hatena.ne.jp/kab_studio/20051002
起きたー。
[アニメ]おねがいマイメロディ 第27話「柊サマになれたらイイナ！」
[アニメ]ゾイドジェネシス 第26話「霧の河」
[アニメ]魔法戦隊マジレンジャー 
　第31話「凄まじき魔神〜マージ・ジルマ・ゴル・ジンガジン〜」
[アニメ]交響詩篇エウレカセブン 第24話「パラダイス・ロスト」
[極上生徒会(ゲ)]おまけ
[極上生徒会(ゲ)]おまけシナリオ3
[極上生徒会(ゲ)]おまけシナリオ4
[極上生徒会(ゲ)]おまけシナリオ5
[ほとはー]ほとはー外伝３ P.36
[Prog]ぷらとわ追加。

2005/10/03 (Mon)
http://d.hatena.ne.jp/kab_studio/20051003
ぐもー。
[アニメ]はっぴぃセブン 〜ざ・テレビまんが〜 第1話「七人の福娘」
体調悪ー。
なるトモ！　今日から関東スタート
[C69]コミックマーケット69受付確認ハガキ到着
[買]I've GIRLS COMPILATION 6 Collective
VC.Net使いにけー！！
[Machician]第１０話 HACの街 (20) [△ ▽]

2005/10/04 (Tue)
http://d.hatena.ne.jp/kab_studio/20051004
うん起きた。
[アニメ]Canvas2 第1話「禁断のクラシックレッド」
[アニメ]ガン×ソード 第14話「スウィフト・ブラウニー」
[アニメ]ToHeart2 第1話
[アニメ]capeta 第1話「リミッターをはずせ！」
[アニメ]アニマル横町 第1話
[JavaA2Z]単語追加。
逃げたニシキヘビと確認　「懐く様子が決め手」
[Machician]第１０話 HACの街 (21) [△ ▽]

2005/10/05 (Wed)
http://d.hatena.ne.jp/kab_studio/20051005
起きた。
[アニメ]クラスターエッジ 第1話「アゲートという名の少年」
[アニメ]闘牌伝説アカギ 第1話「闇に舞い降りた天才」
[アニメ]エンジェル・ハート 第1話「ガラスの心臓」
[アニメ]ガンパレード・オーケストラ 第1話「初陣」
[JavaA2Z]単語追加。
[Machician]第１０話 HACの街 (22) [△ ▽]

2005/10/06 (Thu)
http://d.hatena.ne.jp/kab_studio/20051006
ねむー。
Xbox 360版ウイイレ！！
[アニメ]フルメタル・パニック!The Second Raid 第11話「彼の問題」
[アニメ]灼眼のシャナ 第1話「全ての終わり、一つの始まり」
[アニメ]ARIA The ANIMATION 第1話「その 素敵な奇跡を…」
[アニメ]IGPX 第1話「輝きの時」
[JavaA2Z]単語追加。
[Google AdSense][JavaA2Z]Google AdSenseに怒られた。
[Machician]第１０話 HACの街 (23) [△ ▽]

2005/10/07 (Fri)
http://d.hatena.ne.jp/kab_studio/20051007
起きたもう。
[アニメ]SHUFFLE! 第12話「凍てついた夏」
[アニメ]ぺとぺとさん 第13話「さよなら、ぺとぺとさん」(終)
[アニメ]魔法少女リリカルなのはA's 第1話「はじまりは突然になの」
[アニメ]苺ましまろ 第11話「初雪」
[アニメ]SOLTYREI 第1話「オーロラの降る街」
[アニメ]舞-乙HiME 第1話「ユメノ☆アリカ」
[アニメ]その他のアニメは切りました。
[JavaA2Z]単語追加。
パ・リーグ プレーオフ
[Machician]第１０話 HACの街 (24) [△]

2005/10/08 (Sat)
http://d.hatena.ne.jp/kab_studio/20051008
起きたので。
[アニメ]絶対少年 第20話「マテリアルフェアリー」
[アニメ]ふしぎ星の☆ふたご姫 
[アニメ]BLOOD+ 第1話「ファーストキス」
　第28話「ついにフォーチュン☆これってすごいかも」 
パ・リーグプレーオフをインターネットラジオで。
[Google AdSense]振込失敗


////////////////////////////////////////////////////////////////////
// Ajaxでエロゲーを作るブログ
http://d.hatena.ne.jp/AjaxEroge/

2005/10/02 (Sun)
http://d.hatena.ne.jp/AjaxEroge/20051002
[ゲーム][Ajax][JavaScript][ねこみみか](6)/キャラクターファイル

2005/10/03 (Mon)
http://d.hatena.ne.jp/AjaxEroge/20051003
（休）

2005/10/04 (Tue)
http://d.hatena.ne.jp/AjaxEroge/20051004
（休）

2005/10/05 (Wed)
http://d.hatena.ne.jp/AjaxEroge/20051005
（休）

2005/10/06 (Thu)
http://d.hatena.ne.jp/AjaxEroge/20051006
（休）

2005/10/07 (Fri)
http://d.hatena.ne.jp/AjaxEroge/20051007
（休）

2005/10/08 (Sat)
http://d.hatena.ne.jp/AjaxEroge/20051008
（休）


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

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

「な……」
　雅樹は、目を丸くした。
「え……」
　舞は、幻を見ているようだった。
「彼女……が……」
　智子の表情は、怯えきっていた。
「そういうことだったのね」
　リシュネは立ち上がり、睨み付ける。
「……？」
　少年は、初めて見る何かを、見上げていた。
「猫が……」
　俊雄は、ただ驚くだけだった。
　洋一の足下にいた猫、おはるさんが、光と共に女の姿へと変わる。白と青
を基調としたドレス、肩は大きく膨らみ、足首まで隠す巨大なスカートはフ
リルが付いている。背は１８０を超え、さらにその高さを増すように頭の後
ろでまとめた銀髪のポニーテールが風になびく。
　光が消え、目が開く。斬るような瞳が、雅樹を射る。ナイフのような銀色
の前髪が、その瞳を見え隠れさせる。
　その艶っぽい唇が、嫌らしく笑う。
「初めまして、神薙 遥（かんなぎはるか）よ」
　その声音は、女性の声、だが低音の効いた、品の良い木管楽器のように。
「世間では、死神って、呼ばれてる」
　雅樹に正対し、見下すように笑む。
　それに反応して、雅樹が刀を強く握る。鞘が、割れる。
「ねぇ」
　そんなことには意を介さず、洋一の方へと向く。
「どうすればいいの？」
「殺せ」
　その洋一の一言に、全員が言葉を失う。
　それはあり得ないこと。
　だが、それは確信した上での発言。
「でも、殺すことができるなら、殺すな」
「何それ、難しいこと言うな」
　目の端で、雅樹を見る。
「殺しちゃうかもしれないけどそれでもいい？」
「ま、いっか〜」
　人事のように言い放つ洋一。
「おまえら」
　笑みひとつ、見せず。
「人を怒らせるの、うめぇな」
                                                              (続く)


~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~[KCM]
「！」
　ジャージは手で口元を押さえる。瞳が、潤んでいく。
「見える……の？」

Machician 第１０話 HACの街 好評連載中！
[ 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

■追加・更新単語

クッキー
Cookie
リクエストスコープ
セッションスコープ
JSP暗黙オブジェクト「session」
JSP暗黙オブジェクト「request」
JSP暗黙オブジェクト「response」
JSP暗黙オブジェクト「config」
JSP暗黙オブジェクト「pageContext」
PageContext
ServletConfig
config
コンフィグ
web.xml
classesディレクトリ
classファイル
libディレクトリ
WAR
warファイル
デプロイ
マニフェストファイル
MANIFEST.MF
リクエストヘッダー
キャッシュ
レスポンスヘッダー


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

　Version 15.27
DLL のまとめ

「さて、今回で DLL とか設定関係は終わりです」
『な、なんかやたらこまかかったよーな……』
「だね。この15章では、 Exe や DLL の中身について触れたからね」
『ひとつひとつはある程度分かるけど、全体となると結構複雑だったかも』
「じゃあ、もう一度ひとつひとつ見ていこうか」
『まず最初の Version 15.01 ( No.301 ) 〜 Version 15.02 ( No.302 ) は
コンパイルとリンクについてね』
「コンパイルはソースファイル単位、っていうことがまず重要」
『ビルドすると、だーっと全ファイルしちゃうもんね』
「このソースファイル単位っていうのは、インクルードファイルの話にも、
プロジェクトの設定の話にも継ながるから」
『あ！　そか、プリコンパイル済みヘッダーのって、ソースファイル単位
だったもんね』
「そういうこと。コンパイル系の細かい設定も、ソースファイル単位ででき
るから」
『で、それをリンクで全部継なげるわけね』
「この辺が分かりにくい理由のひとつは、 VC++ で簡単にビルドできるから
かも。一度、ひとつひとつコンパイルしてリンクする、っていうのをすると
色々わかるんだけど」
『めんどくさー』
「まぁそうなんだけどね……」
『次の Version 15.03 ( No.303 ) 〜 Version 15.06 ( No.306 ) は、
インクルードファイルの話』
「重要なのは、インクルードファイルは本当にただファイルを読み込んでい
るだけなんだ、ってこと」
『なんてゆーか、いつもは関数宣言が入ってるヘッダーファイルを読み込む
だけってイメージだけど、そうじゃないってことよね』
「そういうこと。ソースファイルを読み込むことだってできるしね。だから
順番とかが重要ってこと」
『つか、もう少しこの辺便利にならないの？』
「他の言語では便利なんだけどね。それに、 C++ を下手に拡張されても、
って思うし」
『あー、改悪されちゃうとヤダね』
「本当に……本当にね……」
『……えっと、インクルードファイルの読み込みの順番とか関係とかって、
教わってもなんだか分からないんだけど』
「これは自分で実際に組んでみないとわからないかもね。次回からは、その
辺も見ていくから」
『次回？　次の章？』
「そう、少し総合的な部分を見ていくから、その時に複数のソースファイル
を使って、相互にヘッダーファイルを読み込むようなプログラムを組んでみ
るから」
『それって MFC でもできるでしょ』
「 MFC だと、最初に AppWizard が作ってくれたのを変えるのは難しいから
ね。一から作ってみた方が分かりやすいよ」
『難しそうだけど……』
「まぁ、もう火美ちゃんだってかなりプログラム組んできてるんだから」
『そりゃそうだけど』
「次のVersion 15.07 ( No.307 ) 〜 Version 15.08 ( No.308 ) は
スタティックリンクライブラリの解説でした」
『スタティックリンクライブラリ、って結局ほとんど使わない？』
「使わないことが多いね。スタティックリンクライブラリとして提供するく
らいならソースファイルごと提供することの方が多いし、 DLL なら、バグ
があっても DLL だけ入れ替えればいいからね」
『スタティックリンクライブラリを作る価値はない、と』
「でもオブジェクトファイルの理解が深まるし、 DLL と同じように
ライブラリファイルを使うから、勉強にはいいと思うよ」
『一度は作っとけ？』
「そういうこと」
『次の Version 15.09 ( No.309 ) 〜 Version 15.19 ( No.319 ) は、今回
の本命、 DLL ね』
「 DLL は、まず仕組みが難しいかな」
『 DLL はいいんだけど、ライブラリファイルが必要ってこととか、リンク
はライブラリファイルだけ必要とか、そういうとこが難しいかも』
「そういう情報って MSDN にははっきりと書かれてないしね」
『あとはやっぱりエクスポートかな、あれ難しい』
「そうそう、ひとつエクスポートについて触れ忘れたことがあったから、こ
こで解説します」
『え？　……結構重要なこと？』
「それなりに。まず、エクスポートする時の装飾名、って憶えてるよね」
『 Version 15.15 ( No.315 ) で出てきたね、ライブラリファイルに書かれ
た関数名、なんだよね』
「そうです。 DLL を使用するときには、ライブラリファイルの中からこの
装飾名を探して、関数が DLL にあることを確認します」
『うん、リンクするときにそうするんだよね』
「ここで重要なのは、関数名や引数を元に装飾名が作られて、その装飾名同
士で検索される、ってこと」
『どういうこと？』
「まず、 DLL でエクスポートするときに、関数名と引数を元に装飾名が作
られて、それがライブラリファイルに書かれます」
『うん』
「次に、使用する側の話。 Exe でインポートするときには、同じく関数名
と引数を元に装飾名が作られて、それを元にライブラリファイルを検索して
関数があるかどうか調べます」
『うんそうだね。何か問題あるの？』
「あるんです。装飾名の作り方、両方とも同じじゃないと」
『あ！　同じ関数名、同じ引数なのに、違う装飾名になっちゃうかもしれな
い、ってこと！？』
「そういうこと。具体的にどういう時に装飾名が異なるかというと、
ソースファイルが .c と .cpp とで異なります」
『え？　拡張子が違うだけで違うの？』
「拡張子が違うだけじゃないからね。 .c の時はC言語のソースファイルと
して、 .cpp の時はC++言語のソースファイルとしてコンパイルするから」
『言語が違う……』
「装飾名の時に説明したけど、C言語では同じ名前の関数はひとつだけだけ
ど」
『C++言語の時は、オーバーロードがある！』
「そういうこと。だから装飾名が違うんです。実際、 DLLTestHard と
BuildTest の例で、 DLLTestHard の Func.cpp を Func.c にして、 
BuildTest でリビルドすると」
『あ、リンクエラー』

リンク中...
Main.obj : error LNK2001: 外部シンボル 
    ""__declspec(dllimport) void __cdecl Output(char const *)" 
    (__imp_?Output@@YAXPBD@Z)" は未解決です
Debug/BuildTest.exe : fatal error LNK1120: 外部参照 1 が未解決です。
link.exe の実行エラー

「このように、たとえば DLL が .cpp で Exe が .c の場合、または 
DLL が .c で Exe が .cpp の場合は、装飾名が異なるのでリンクできませ
ん」
『まさに見つからないって感じね』
「だから、基本的には .cpp の方で統一するようにしてください」
『？　質問！』
「はい火美ちゃん」
『なんで .cpp の方で統一するの？』
「だって、そうしないと C++ の機能が全然使えないから。オーバーロード
できないし、クラスも使えないでしょ」
『あ、そういえば』
「実際、関数の動的リンクを使わない限り、エクスポートはクラス単位でし
て、 DLL も Exe も .cpp にする、っていうのが一番楽かな」
『もうひとつ質問！』
「はい火美ちゃん」
『ソースファイルの拡張子が違うとリンクできないって行ったけど、 API 
は .cpp でも .c でも使えるんじゃないの？』
「いい所に気付きました。実は Exe の側が .cpp でも .c でもちゃんと
リンクできる方法があるんです」
『あ、なんだあるんだ』
「でも今回はパス」
『えー？』
「それこそ、関数だけをエクスポートする DLL 、っていう場合にしか必要
ないから、これからそういう DLL を作ることはないと思うよ」
『んー、でもどんな感じか、だけでも教えて』
「そうだね、まず重要なのは、C言語側に合わせる、ってこと」
『 DLL でのエクスポートはC言語のにする、ってこと？』
「そういうこと。そうすれば、まず Exe の方が .c ならリンクできます」
『じゃあ、 .cpp の時は？』
「その場合のために、ヘッダーファイルの宣言部を extern というもので
囲みます。たとえばこんな感じに」

// Func.h

extern "C"
{
DLLTESTHARD_API void Output( const char *p_pch );
}

『 extern って初めて見た』
「この【extern "C"】っていうのは、囲んだ範囲をC言語形式にしてしまう
んです」
『C言語形式！　なるほど、そうすればC言語の装飾名になるからリンクでき
るってことね』
「実際にはもう少し色々としなきゃいけないんだけど、簡単に説明するとこ
ういうこと。ただやっぱり、関数だけの DLL を、しかも動的リンク以外の
目的で作ることはないと思うから」
『必要ないってわけねー。まぁそうかもしれないけど』
「えと、話を戻して」
『あ、最後の Version 15.20 ( No.320 ) 〜 Version 15.26 ( No.326 ) は
【プロジェクトの設定】ダイアログだね』
「各設定について、駆け足だったけど説明しました」
『なんとなく全体的に分かったけど、細かい所となるとちょっと不安かも』
「でも実際、細かい所はほとんど必要ないよ。重要な設定は、こんなところ
かな」

・【一般】-【Microsoft Foundation Class】
・【一般】-【出力ディレクトリ】
・【デバッグ】-【一般】-【デバッグ セッションの実行可能ファイル】
・【C/C++】-【コード生成】-【使用するランタイム ライブラリ】
・【C/C++】-【プリコンパイル済みヘッダー】
・【C/C++】-【プリプロセッサ】-【プリプロセッサの定義】
・【C/C++】-【プリプロセッサ】-【インクルードファイルのパス】
・【リンク】-【一般】-【出力ファイル名】
・【リンク】-【インプット】-【オブジェクト/ライブラリ モジュール】
・【リンク】-【インプット】-【追加ライブラリのパス】
・【ビルド後の処理】

『あ、そんな多くないね。どれも DLL の時に使ったのだし』
「それに、最適化とかはむしろあまりいじらない方がいいしね。劇的に実行
速度が改善するわけじゃないから、そんなところをいじるくらいなら、
プログラムを修正した方がいいよ」
『確かにそうです……』
「さて、今回まではものすごく中の方について見ていきました」
『中？』
「ハードウェア寄りというか、すごく生っぽい話」
『なんとなく分かるような……』
「次回からは、外、プログラムについて見ていきます」
『プログラム？』
「そう。主にクラスを中心に、メンバ変数とメンバ関数、オーバーライドと
いったところを説明していきます」
『あー、そういえばその辺ってしっかりは教わってないかも。 MFC 使って
いた時になんとなく分かってた、って感じだし』
「その MFC を自分で作れるくらいには教えます」
『いや無理だから』

/*
    Preview Next Story!
*/
「というわけで次回からはクラスの説明に入ります」
『 DLL とかよりは簡単そうかな』
「また違った難しさがあるからどうかな」
『げ、そういうもんなんだ』
「憶えること細かくて大変かも」
『というわけで次回』
＜ Version 16.01 クラスを作ってみよう！ ＞
「につづく！」
『ところであと何章？』
「17章で完結……かな」
『お、もうそこまで』


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

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

