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

    KAB-studio.h


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

    送信日： 2005/08/29(Mon) No.321
    配信数： 1898
    発行元： まぐまぐ ( URL: http://www.mag2.com/  ID: 0000012198 )
*/
////////////////////////////////////////////////////////////////////

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

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

2005/08/29 (Mon)
　#pragma twice ホームページ版にアーカイブ追加！
13.09 ソートの中身のバリエーション
13.10 文字列のソート
[ #pragma twice ]
http://www.kab-studio.biz/Programing/PragmaTwice/index.html

2005/08/29 (Mon)
　KAB-studio.hの縮刷版を更新！
[ ダウンロードルーム ]
http://www.kab-studio.biz/Freeware/index.html#MailMagazine


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

2005/08/21 (Sun)
　午前中はしてアニメ観て。「Ajaxでエロゲーを作るブログ」がなんか
ヒット数高い。色々と急すぎる……。マイペースでいかないと。あとはのん
びりそしてイバラの道。

2005/08/22 (Mon)
　Ajaxでエロゲーを作るブログがカトゆー家断絶様からリンクが張られてる
！！！！！　ラッキーだ。でも、このくらいなんだなぁ。カブカテキョと
ほとはー外伝３。「Ajaxで」に記事追加。ごはん食べた後に体調が……。
JavaA2Z に単語追加して以上。

2005/08/23 (Tue)
　１０時に起きて午前中はカブカテキョ。お昼からは「Ajaxで」。簡単な
サンプルでも面白い。ほとはー外伝３はもうすぐ第二部完了。 JavaA2Z を
もっとがんばらないと。ショットワークスを眺める。倉庫の片付けのバイト
ってどうなん？

2005/08/24 (Wed)
　一日中体調悪し。 Machician があまり進んでない。 JavaA2Z が落ちてた
のに気付かなかった。サーバーの限界……。そして数万円程度。

2005/08/25 (Thu)
　午前中はカブカテキョ。午後は「Ajaxで」。 JavaA2Z はサーブレットの
説明を開始。今週は調子よくない……。そして働いて儲ける額。

2005/08/26 (Fri)
　やっぱり今週調子良くない。午後は「Ajaxで」。絵に時間を掛ける。さら
にカブカテキョ。 Machician は１０章の半分を。 JavaA2Z はプロトコル。
そしてヘタレ攻め。

2005/08/27 (Sat)
　友人の家で HALO2 を延々と。バランスがいいかなと。１０時過ぎに帰っ
てきてぐだーっと。そしてヘタレ攻め２。


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

2005/08/21 (Sun)
http://d.hatena.ne.jp/kab_studio/20050821
起きた。
[ほとはー]ほとはー外伝３ P.30
[Prog]ぷらとわ追加。
[アニメ]ゾイドジェネシス 第20話「決意」
[アニメ]おねがいマイメロディ 第21話「マイメロになれたらイイナ！」
[食]ドラゴンラーメン（介一家）
[アニメ]魔法戦隊マジレンジャー 第25話「盗まれた勇気〜ジルマ・マジ・マジーロ〜」
[Ajaxエロゲー]やべぇ。

2005/08/22 (Mon)
http://d.hatena.ne.jp/kab_studio/20050822
ぐもー
カトゆー家断絶様入り。
sakusaku
[JavaA2Z]単語追加。
同じ色です。
[Machician]第９話 君がそこにいるから (21) [△ ▽]

2005/08/23 (Tue)
http://d.hatena.ne.jp/kab_studio/20050823
起きたので。
スーマリセット。
[アニメ]交響詩篇エウレカセブン 第18話「イルコミュニケーション」
[アニメ]ぱにぽにだっしゅ！ 第8話「熊に山椒 鯉に胡椒」
[アニメ]ガン×ソード 第8話「その絆に用がある」
[JavaA2Z]単語追加。
WBSで二子玉川。
[Machician]第９話 君がそこにいるから (22) [△ ▽]

2005/08/24 (Wed)
http://d.hatena.ne.jp/kab_studio/20050824
起きましたが。
プレステ2版 CLANNAD
[アニメ]かみちゅ！ 第7話「太陽の恋人たち」
[アニメ]攻殻機動隊 S.A.C. 2nd GIG 第19話「北端の混迷」
[アニメ]おジャ魔女どれみナ・イ・ショ 第5話「涙を知るひと ぽっぷとハナのないしょ」
AH-K3002V
[JavaA2Z]落ちてた。
[JavaA2Z]単語追加。
アップルシードがコミュニケーションRPGに
あなたのガンダマー度チェック！
[Machician]第９話 君がそこにいるから (23) [△ ▽]

2005/08/25 (Thu)
http://d.hatena.ne.jp/kab_studio/20050825
起きたので……。
[アニメ]フルメタル・パニック!The Second Raid 第7話「とりのこされる」
[アニメ]極上生徒会 第21話「晴の日はいつもレイン」
最大で会社を４年休めます　西部ガス
[買]まんがタイムきららCarat VOL.15
[JavaA2Z]単語追加。
[Machician]第９話 君がそこにいるから (24) [△]
[Machician]第９話 あとがき。

2005/08/26 (Fri)
http://d.hatena.ne.jp/kab_studio/20050826
そして起きた。
智代アフター！
[アニメ]SHUFFLE! 第8話「パンツでデート！」
[アニメ]ぺとぺとさん 第7話「ちりんちりん」
[アニメ]苺ましまろ 第5話「そいね」
[JavaA2Z]単語追加。

2005/08/27 (Sat)
http://d.hatena.ne.jp/kab_studio/20050827
起きた、そして行ってきます。
帰ってきました。


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

2005/08/21 (Sun)
http://d.hatena.ne.jp/AjaxEroge/20050821
[Ajax][JavaScript]とりあえず始めてみよう。

2005/08/22 (Mon)
http://d.hatena.ne.jp/AjaxEroge/20050822
[JavaScript]画像の切り替え
[キャラ]謎キャラ。

2005/08/23 (Tue)
http://d.hatena.ne.jp/AjaxEroge/20050823
[リンク]枯れた新しいUI革命「Ajax」をASP.NETで活用する
[Ajax][JavaScript][XML]XMLの読み込み。

2005/08/24 (Wed)
http://d.hatena.ne.jp/AjaxEroge/20050824
[Ajax][JavaScript][XML]XMLの読み込み（FireFox対応版）。

2005/08/25 (Thu)
http://d.hatena.ne.jp/AjaxEroge/20050825
[JavaScript][DHTML]charはだめよ、ということ。
[JavaScript][DHTML]オブジェクトの指定をIDで統一
[JavaScript][XML]IEとFireFoxでパーシングの仕方が違う！

2005/08/26 (Fri)
http://d.hatena.ne.jp/AjaxEroge/20050826
[JavaScript][XML][ゲーム]XMLを続けて読み込む。

2005/08/27 (Sat)
http://d.hatena.ne.jp/AjaxEroge/20050827
[キャラ]恋歌
[キャラ]風太


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

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

「えっ……何言って……」
　雅樹は、何が起きたのか理解していなかった。
　伸ばした右手が、消し飛んでいた。
　舞が、消した。
　水球の崩壊と共に宙へと投げ出されていた舞の体が、何かに弾かれ雅樹の
目の前へと飛び込み
「ごめん」
　掌を包む水塊を雅樹の顔面に押し付ける。
　水塊が、ガーゼ状になり、さらに透き通ったその見えない糸で編まれた網
が、雅樹の頭部を越し通し、それは砂状の骨と水分のみへと変えた。
「うっ……」
　自分が作り出した惨状に、吐き気を催す。
　が。
　雅樹の、その先のない両腕に炎が点ったのを見て。
「お、往生際がっ！」
　両腕を振り降ろし、雅樹の胴体に水塊を叩き付ける。
　それは、赤い水たまりへと、変わった。
　音を立てて、地面へとこぼれ落ち、木の根の間に水面をたたえていた。
「はぁっ、はぁっ」
　息が、上がっていた。
　眼下の惨状。
　それだけが原因ではない。
　舞の体を、薄い水の膜が覆っていた。
　その水が舞を浮かせ、灰色の炎から守っていた。
　ふいごのように息を荒らせ、それは収まるどころが次第に酷くなってい
く。
「も、持たない……」
　舞は地面へと降り、灰色の炎がない方へと移動していく。
「待てよ」
　びく、と、舞は止まる。
　あり得ない。
　轟音と共に舞の周りを炎が包み、その炎風が舞を吹き上げる。
「え、な」
　力を使い切っていた舞はその風に抗う事すらできず、ジャングルの空高く
吹き飛ばされていた。
                                                              (続く)


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

■追加・更新単語

JSPディレクティブ
JSP指示子
<%@ %>
<%@
<%@ page
<%@ page contentType
<%@ page pageEncoding
<%@ page import
<%@ page errorPage
<%@ page isErrorPage
JSP暗黙オブジェクト「exception」
exception
JSP暗黙オブジェクト「out」
Jasper
JasperException
サーブレット
WEB-INF
GET
POST
HTTPメソッド
HTTP
プロトコル
リクエスト
RFC


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

　Version 15.21
「プロジェクトの設定」コンパイル編(1)

「今回は前回の続き、【プロジェクトの設定】ダイアログについて説明しま
す」
『なんか重要なとこに全然入れなかったから、今回の方が重要ね』
「うん、今回はコンパイルの設定を説明するから。分量あるからさっそくい
くよ！」
『はい！』
「【C/C++】タブは、コンパイルの設定をするものです」
『コンパイルって書いてなくてもコンパイルなのね』
「そうです。まず【一般】ページから。【警告レベル】は、プログラムが正
しくない時に出力される警告の、どのくらい重い警告なら出力するかを指定
するもの」
『？』
「警告っていうのは、コンパイルする時に出てくるもので、コンパイルエラー
ほどの重要な問題じゃないけど、プログラムのミスじゃないか、っていうも
の。たとえばこれ」

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

int WINAPI WinMain
    ( HINSTANCE p_hInstance
    , HINSTANCE p_hPrevInstance
    , LPSTR p_pchCmdLine
    , int p_iCmdShow
    )
{
    i2 = 100;    // コンパイルエラー。

    // return 0;    // ワーニング
}

「これをビルドすると、次のように出力されます」

error C2065: 'i2' : 定義されていない識別子です。
warning C4508: 'WinMain' : 関数に戻り値の型が指定されていません。
　戻り値を void 型と見なします。

「上の【error C2065】が、コンパイルエラー」
『存在しない変数使ってるんだから当然よね』
「下の【warning C4508】が警告」
『あ、 return がないから？』
「そう。関数って、 return がないと、 return 0 してるものと見なすんだ
けど、普通は return ってあるはずだから」
『ないから警告を出して教えてくれてる、ってわけね』
「そういうこと。警告は、コンパイルそのものは通るから放っておいてもい
いんだけど、ほとんどはプログラムミスだから」
『教えてもらった方がいいわけね』
「でも、無視していい警告っていうのもあるんです。【警告レベル】を
【レベル 4】にしてビルドすると、次のような警告が出てきます」

warning C4100: 'p_iCmdShow' : 
　引数は関数の本体部で 1 度も参照されません。

『……引数の p_iCmdShow を使ってないから警告が出てる……』
「ってこと。でもこんなの無視していいから」
『うん、全部使う必要なんてないし。あ、これを表示させないようにするの
がこの設定？』
「そういうこと。レベルを上げれば、重要度の低い警告が表示されなくなり
ます。でもデフォルトの3くらいがいいかな」
『この、警告のレベルってどうやったらわかるの？』
「 MSDN に書いてあるよ。試しに C4100 とか見てみて」
『あ、レベル4 って書いてある』
「出力されるのは【警告レベル】で設定したレベル以上……以上っていうの
は変か」
『【レベル 3】で設定していたら、【レベル 4】は出力されない、だよね』
「そういうこと。この設定の下の【警告をエラーとして扱う】は、警告を
コンパイルエラーと同じ扱いにするってこと」
『ってことは無視できないんだ』
「そういうこと。レベル 3以上の警告は普通発生しないから、これはオンで
もいいかな。次の【最適化】は、コンパイル時のプログラムを切りつめて、
速くしたりファイルサイズを小さくしたりすること」
『おおっ、かっこいい！！』
「でも、これをするとうまくいかなくなることが多いから【デフォルト】が
いいかも」
『えー？』
「あとデバッグ時には【無効(デバッグ時)】で。次の【ブラウザ情報を生成
する】は、専用の【ブラウザ】タブがあるのでそちらで説明します」
『ホントだ、右の方にある』
「【デバッグ情報】は、.pdbファイルの内容や、そのファイルを作るかどう
かの設定。【エディット・コンティニュー用のプログラム データベース】
を選ばないと普通のデバッグができないからこれにして」
『はーい』
『最後は【プリプロセッサの定義】。これは #define の代わりね』
「ここに【AAA】って追加するってことは」

#define AAA

「と同じってこと。ただ」

#define AAA 0

「みたいに、マクロとしての使い方はできないから」
『置き換えには使えないってことね』
「だから #ifdef 用ってこと。あと、この設定の中にある【_DEBUG】は、
デバッグ関係の機能をオンにするためのもの」
『 Version 6.18 ( No.118 ) のね』
「こういうところに設定が隠れているから注意して」
『どゆこと？』
「デバッグ機能をオン・オフする設定があるわけじゃない、ってこと」
『あー』
「こういうのは仕組みもわかってないと難しいかもね。では次のページ」
『え？　一番下は？』
「一番下は、設定欄じゃないんです。これは最後にまとめて説明します」
『う、なんか重要そう……』
「次は【C++ 言語】のページ、なんだけどパスします」
『ええっ！？』
「 C++言語の特別な機能の設定だけど、今の段階だと関係するものがないか
ら」
『うーん……』
「次の【カスタマイズ】はこまごまとした設定。まず【Microsoft 言語拡張
機能を無効にする】は、オンにすると厳密な C言語のルールに沿った
プログラムしか作れなくなります」
『その方がいいんじゃない？』
「でもこれまで作ってきたプログラムが使えなくなるかも」
『それは困る』
「だからとりあえずこれはオフでいいかな。次のふたつ【関数レベルの
リンクを有効にする】と【同一文字列を削除する】は、特定の場合以外は
グレーになっています」
『特定の場合？』
「具体的に言うと、【一般】ページの【最適化】が【無効(デバッグ時)】か
【デフォルト】で、かつ【デバッグ情報】が【しない】の場合」
『それってどういう状況？』
「リリースビルドで、かつ最適化しない場合」
『余分なことしてない場合、ってこと？』
「そういうこと。【関数レベルのリンクを有効にする】は関数の呼び方の設
定。これはオンでもオフでも変わらないかな。【同一文字列を削除する】は
文字列リテラルの最適化の話」
『文字列リテラルって"あいう"とかのことだよね』
「 Version 5.06 ( No.071 ) でやったね。こういった文字列リテラルは、
実行時にメモリ上のどこかに置かれます」
『配列みたいに？』
「そう。その時、同じ文字列リテラルがあったら、その重複している分を削
除するのが、この設定」
『あー、なんだか最適化みたい』
「そうだね、こういうふうに分散してるのはちょっとね。これをオンにする
と少しはメモリが節約できるだろうけど、大きくは変わらないからどっちで
もいいと思うよ」
『オンでもオフでもいい、と』
「次の【簡易リビルドを行う】と【インクリメンタルコンパイルを行う】は
コンパイルが速くなる設定。マシンパワーがあまりない場合には、両方とも
オンにするとコンパイルが速くなるかな」
『ほほう』
「最後の【開始メッセージを表示しない】は、これをオフにすると、
コンパイル時に次のメッセージが出力されるようになります」

Microsoft (R) 32-bit C/C++ Optimizing Compiler 
Version 12.00.8804 for 80x86
Copyright (C) Microsoft Corp 1984-1998. All rights reserved.
cl /MDd /W3 /Gm /Gi- /GX /ZI /Od /D "WIN32" /D "_DEBUG" 
/D "_WINDOWS" /D "_AFXDLL" /D "_MBCS" /Fp"Debug/SDITest01.pch" 
/Yu"stdafx.h" /Fo"Debug/" /Fd"Debug/" /FD /GZ /c 

『長！！』
「これは、コンパイラの種類とバージョン、コピーライト、そして
コンパイル実行時のオプションの設定」
『バージョンとかコピーライトは分かるけど、設定って……』
「じゃあこれと、一番下にある【プロジェクト オプション】の中身を比較
してみようか」

/MDd /W3 /Gm /GX /ZI /Od /D "WIN32" /D "_DEBUG" /D "_WINDOWS" 
/D "_AFXDLL" /D "_MBCS" /Fp"Debug/SDITest01.pch" /Yu"stdafx.h" 
/Fo"Debug/" /Fd"Debug/" /FD /GZ /c 

『あ、ほとんど同じだ！！』
「まず、 Version 15.01 ( No.301 )を思い出して。コンパイルって、
ソースファイル単位でしてたよね」
『うん、してた』
「そのコンパイルをするのが、【コンパイラ】というものです」
『コンパイラがコンパイルをする、ね』
「そのコンパイラの正体は、 cl.exe という実行ファイルです」
『え？　VCがするんじゃないの？』
「 Visual C++ は【開発環境】。エディタを使ってソースファイルとかの修
正をしたり、デバッグをするためのものです。コンパイルやリンクは、専用
の実行ファイルが行うんです」
『知らなかった……』
「ま、そういう実行ファイルも VC 付属のものだから、一部って事なんだけ
どね。話を戻すと、コンパイルは、 cl.exe を実行して、その時に
ソースファイルと、〈どうコンパイルするか〉を指定する設定を渡す必要
があります」
『設定……あ！』
「そう、それが、さっきの」

cl /MDd /W3 /Gm /Gi- /GX /ZI /Od /D "WIN32" /D "_DEBUG" （以下略）

「です」
『最初の cl って、 cl.exe のことなんだ』
「そういうこと。そして……もう一度【プロジェクトの設定】ダイアログを
開いて、たとえば【C/C++】-【カスタマイズ】の【開始メッセージを表示し
ない】をオン・オフすると」
『あ！　オンにすると /nologo っていうのが出て、オフにすると消える！』
「まとめると、以下のようになります」

【プロジェクトの設定】ダイアログの【C/C++】の設定を変える
　↓
下の【プロジェクトのオプション】の設定が変わる
　↓
コンパイル時のオプションが変わる
　↓
コンパイル結果が変わる

「ここの設定は、このコンパイルの設定を変えるためのものってこと」
『結構マニュアル気味なんだ』
「オプションの中には、なぜか上の設定にないものもあるから、そういう場
合には下の【プロジェクト オプション】を直接変えるっていうこともでき
るから」

/*
    Preview Next Story!
*/
『……なんだか、これだけでひとつの章にした方がいいんじゃない？』
「そんなに分量は無いはずだけど……」
『本当？　本当に？？』
「……まぁもう後には引けないし」
『うわ開き直りやがったコイツ』
「というわけで次回」
＜ Version 15.22 「プロジェクトの設定」コンパイル編(2) ＞
『につづく！』
「元々全然計算しないで始めてるんだから、何を今さら！！」
『何泣きながら言ってるの』


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

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

