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

    KAB-studio.h


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

    送信日： 2005/09/12(Mon) No.323
    配信数： 1885
    発行元： まぐまぐ ( URL: http://www.mag2.com/  ID: 0000012198 )
*/
////////////////////////////////////////////////////////////////////

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

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

2005/09/12 (Mon)
　#pragma twice ホームページ版にアーカイブ追加！
13.13 ポインタ用コレクション
13.14 リストのしくみ
[ #pragma twice ]
http://www.kab-studio.biz/Programing/PragmaTwice/index.html


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

2005/09/04 (Sun)
　へんてこな一日。午後までかぶスタのバックアップ。擬人化クロミ様
「クルミ・ヌイ」様に落とされる。バックアップ後はカブカテキョ書いて、
クロミ様描いてかぶろぐのトップイメージに。あとはのんびり。明日は実家
に帰ります。

2005/09/05 (Mon)
　実家里帰りのためお休み。

2005/09/06 (Tue)
　昨日は実家に帰ってきました。片付けとかＰＣ操作の説明とか。今日の
４時くらいに帰ってきてサイトの巡回やメールチェックと平行して
カブカテキョ。

2005/09/07 (Wed)
　昨日の夜に「Ajaxで」に記事追加。今日のお昼までにカブカテキョ。夕方
まで何もできず。夜はサッカー見つつ JavaA2Z に単語追加。 JavaA2Z と
「Ajaxで」を交互にするか？　イライラ電車男ゲームとか適性・適職診断し
たり。そして起きろー。

2005/09/08 (Thu)
　今週はダメっぽい。午前中はカブカテキョ。お昼にほとはー外伝３。夕方
から夜まで「Ajaxで」。なんか空回り。

2005/09/09 (Fri)
　今週は体調悪かった……。ビデオの R へのダビング。散歩したら体調が
悪くなる。「Ajaxで」は昨日の夜に作成済み。そして限界。

2005/09/10 (Sat)
　今日も何もできなかったような。カブカテキョ書いたりとかとか。あと
「Ajaxで」に記事追加。「ねこみみか」という長編シリーズものを開始。
今は「Ajaxで」に方向が向いてる。そしてアブノーマルへ。


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

2005/09/04 (Sun)
http://d.hatena.ne.jp/kab_studio/20050904
起きたッ！
[アニメ]ゾイドジェネシス 第22話「誓い」
[アニメ]魔法戦隊マジレンジャー 
　第27話「俺たちの絆〜マジーネ・マジーネ〜」
[アニメ]おねがいマイメロディ 第23話「カレと踊れたらイイナ！」
[版権物イラスト] クルミ・ヌイ様（クロミ様）
[アニメ]交響詩篇エウレカセブン 第20話「サブスタンス アビューズ」
[ほとはー]ほとはー外伝３ P.32
[Prog]ぷらとわ追加。

2005/09/05 (Mon)
http://d.hatena.ne.jp/kab_studio/20050905
書き忘れてた。
[Machician]第１０話 HACの街 (1) [△ ▽]
↑注：これは６日に追加したものです。

2005/09/06 (Tue)
http://d.hatena.ne.jp/kab_studio/20050906
ただいま。
『現代用語の基礎知識2006』掲載キーワード発表
[Machician]第１０話 HACの街 (2) [△ ▽]
↑注：(1)は5日に追加しました。

2005/09/07 (Wed)
http://d.hatena.ne.jp/kab_studio/20050907
そして起きた。
[JavaA2Z]単語追加。
イライラ電車男ゲーム
適性・適職診断
[Machician]第１０話 HACの街 (3) [△ ▽]

2005/09/08 (Thu)
http://d.hatena.ne.jp/kab_studio/20050908
起きた。
[アニメ]極上生徒会 第23話「怪傑少女探偵団」
[アニメ]かみちゅ！ 第9話「君に決定」
[Machician]第１０話 HACの街 (4) [△ ▽]

2005/09/09 (Fri)
http://d.hatena.ne.jp/kab_studio/20050909
うあー眠い。
[アニメ]苺ましまろ 第7話「海水浴」
[アニメ]ぺとぺとさん 第9話「一日署長」
[アニメ]攻殻機動隊 S.A.C. 2nd GIG 第21話「無人街」
[アニメ]攻殻機動隊 S.A.C. 2nd GIG 第22話「橋が落ちる日」
[アニメ]ぱにぽにだっしゅ！ 第10話「名馬に癖あり」
[買]まんがタイムきらら10月号
[JavaA2Z]単語追加。
[Machician]第１０話 HACの街 (5) [△]

2005/09/10 (Sat)
http://d.hatena.ne.jp/kab_studio/20050910
そう起きた。
[アニメ]絶対少年 第16話「目に見えない巨大な何か」
asahi.comが見えない。


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

2005/09/04 (Sun)
http://d.hatena.ne.jp/AjaxEroge/20050904
（休）

2005/09/05 (Mon)
http://d.hatena.ne.jp/AjaxEroge/20050905
（休）

2005/09/06 (Tue)
http://d.hatena.ne.jp/AjaxEroge/20050906
[CSS][ゲーム]CSSで透明度変更。

2005/09/07 (Wed)
http://d.hatena.ne.jp/AjaxEroge/20050907
（休）

2005/09/08 (Thu)
http://d.hatena.ne.jp/AjaxEroge/20050908
[ゲーム][DHTML][XML][CSS]背景の置き換え。

2005/09/09 (Fri)
http://d.hatena.ne.jp/AjaxEroge/20050909
（休）

2005/09/10 (Sat)
http://d.hatena.ne.jp/AjaxEroge/20050910
[ゲーム][JavaScript][DHTML][ねこみみか](1)/キャラ非表示/キー入力


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

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

　第５試合：朴雅樹vsリシュネ。
「棄権」
　リシュネは手を挙げた。
「って、なんでよーっ！！」
　舞の怒りもリシュネはけろっと答える。
「勝てないの分かってるし、無駄なことしたくないもの」
「でも！」
「じゃ、俺の全勝ってことで」
「あ”ーっ！！　くっそー」
　舞はがっくりとする。
「百万が、百万が……」
「ああ、じゃあ次、あいつに買ったら百万やる」
「ええっ！？」
　目を輝かせて舞は振り向く。
「別に俺いらねーし、それに」
「え……なによそれ、私負けるっていうの？」
「ま、やってみろ」
　第６試合：少年vs結白舞。
「でもさ」
　リシュネは彼に勝ってるし、そのリシュネに私は勝ってる。
「ジャンケンで言えば私は彼に……あれ？」
　ジャングルの端でそんなことを考えている間に、ホーンが鳴る。
「っと、集中集中。あの広範囲攻撃が……へ？」
　水蒸気は、教えてくれる。
　森の全てを。
　その森が、悲鳴を上げた。
「っ！！」
　森の半分が、吼えた。
                                                              (続く)


~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~[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

■追加・更新単語

HTML
RequestDispatcher
HttpServletResponse
JavaBeans
Java Bean


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

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

「今回は、前回に続いて【プロジェクトの設定】ダイアログについて説明し
ます」
『前回は【C/C++】の【プリコンパイル済みヘッダー】までね。結構複雑だ
ったなー』
「今回はC/C++の残りを見ていきます。まず【プリプロセッサ】」
『プリプロセッサってマクロとかのだよね』
「そう、 Version 6.05 ( No.105 ) でやったね。プリプロセッサは、
コンパイル前に行う処理のこと。そのあたりの設定とかをここでします」
『まず最初の【プリプロセッサの定義】だけど……これって【一般】のと同
じじゃないの？』
「まったく同じ。【一般】の設定がそのままここに出ています」
『前回した〈AAA=300〉もある。これってどっちで設定しても同じ？』
「同じ。 Version 15.21 ( No.321 ) で説明したように、この設定も、結局
プロジェクトのオプションで設定しているだけだから」
『両方とも同じオプションってことね』
「そういうこと。次の【次のシンボルを無効にする】と【すべて無効にする】
は、【定義済みマクロ】っていう、 Visual C++ に組み込まれているマクロ
を無効化するもの」
『定義済みマクロ？』
「定義済みマクロの一覧は /U オプションのページに書かれているのでそち
らを参照。たとえば、定義済みマクロのひとつに _MSC_VER があります。こ
のマクロは〈コンパイラのバージョン番号〉に置き換えられます」
『置き換えられる……？』
「たとえば、コンパイラのバージョン番号が1200であれば」

#define _MSC_VER 1200

「みたいになってる、ってこと」
『あ、なるほど』
「だから、次のようにできます」

    int iVersion = _MSC_VER;

「【次のシンボルを無効にする】にこの _MSC_VER を書き込むと、これが無
効になります」
『うわ、それ書き込んでリビルドしたら、なんか警告出まくった！』
「このマクロは Visual C++ の各インクルードファイルでも使用しているか
らね。【すべて無効にする】をオンにすると、すべての定義済みマクロが使
えなくなります」
『うわ、さらに大量のエラーが！！』
「この設定をする場合には、 Visual C++ 付属のヘッダーファイルを使わな
いで、すべて自分で作成したファイルだけでプログラムを作る場合に、定義
済みマクロが邪魔、っていう場合にのみ使用することになるかな」
『普通に使っていたら使わないってことね』
「次の【インクルードファイルのパス】は、インクルードファイルを探しに
いくフォルダを指定指定します」
『これはなんども使ったね』
「 Version 15.07 ( No.307 ) とかで使ったね。 DLL のヘッダーファイル
のように、外にあるヘッダーファイルを参照する場合に使用します」
『メニューの【ツール】-【オプション】で指定するのでもいいんだよね』
「基本的には同じ。オプションの場合はずっと残るけど、プロジェクトの
設定の場合はプロジェクト単位だから……」

・そのプロジェクトでしか使用しない→プロジェクトの設定
・あらゆるプログラムで使用する　　→オプション

「って使い分けるのがいいかな」
『最後の【標準インクルード パスを無視する】は？』
「これは【環境変数】っていうのと関係があります」
『かんきょうへんすう？』
「環境変数っていうのは、 OS そのものの変数」
『…… OS に変数なんてあるの？』
「実はあるんです。普段はあまり使わないんだけど。環境変数が設定されて
いるところを見ておこうか。コントロールパネルを開いて」
『コントロールパネルだね』
「その中の【システム】をダブルクリックして、【詳細】ページを開いて」
『開いたよ。あ、環境変数ってある！』
「その【環境変数】ボタンを押して」
『【環境変数】ダイアログが出た。【変数】とか【値】とかある』
「ここでは、環境変数を指定することができます。上の方の【新規】ボタン
を押して」
『【新しいユーザー変数】ダイアログが出た』
「ここには次のように入力してください」

変数名：
AAA
変数値：
BBB

「これでOKボタンを押して閉じて、さらに【環境変数】ダイアログもOK
ボタンを押して閉じてください」
『これで環境変数がセットされた？』
「されました。環境変数 AAA に、値"BBB"が格納されたことになります」
『文字列が変数 AAA に入った、ってこと？』
「そういうこと。型とかはないから、基本的に文字列を入れるものって
思って。これをプログラムで取得してみましょう。まず…… Visual C++ を
一度終了させて、再実行して」
『え？　一度閉じるの？』
「そう。環境変数ってそうしないと更新されないから」
『不便……』
「起動したら、以下のプログラムを試してください」

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

int WINAPI WinMain
    ( HINSTANCE p_hInstance
    , HINSTANCE p_hPrevInstance
    , LPSTR p_pchCmdLine
    , int p_iCmdShow
    )
{
    char pch[1024];
    GetEnvironmentVariable( "AAA", pch, 1024 );
    OutputDebugString( pch );
    // BBB

    return 0;
}

「環境変数の取得は GetEnvironmentVariable() という API で行います。 
GetEnvironmentVariable() の第1引数で、環境変数の変数名を指定すると、
第2引数に値が格納されます」
『さっき入れた BBB が出力された！』
「このように、環境変数は【 OS の変数】として使用できます。まぁ実際に
はただの設定なんだけど」
『変数ってほどのもんでもないのね』
「 Windows は特にね。他の OS の場合には本当に変数として使用すること
も多いけど、 Windows なら文字列定数って考えた方がいいかも」
『で、設定はどう関わってくるの？』
「そうそう、実はインクルードファイルって、環境変数の PATH と INCLUDE
で指定したフォルダも探していたんだけど、それをしなくなります」
『そんなものでも指定していたんだ』
「 Visual C++ 6.0 の場合にはこの環境変数は使わないから、プログラマー
が使ったりしない限り問題ないかな」
『この辺も結局あまり関係ないってことね』
「では最後のページ、【最適化】について」
『前もちょっと出てきたよね』
「最初の【一般】ページにある【最適化】と、この【最適化】ページにある
【最適化】は同じオプションだから」
『えっと、全部上げると……』

・デフォルト
・無効（デバッグ時）
・実行速度
・プログラムサイズ
・カスタマイズ

『ってあるね』
「このうち、【デフォルト】と【無効（デバッグ時）】は同じ、まったく
最適化をしません」
『何もしない時はこれね』
「【実行速度】は、コンパイル時に実行速度が一番早くなるように
コンパイルします」
『コンパイル時に？』
「そう、この最適化の設定はコンパイル時に〈コンパイル後のプログラム〉
を最適な形に書き換える設定のこと」
『へー、コンパイルした時にそういうことができるんだ』
「日本語から英語へ訳す例に置き換えるなら、〈はい〉を〈Yes, I do〉と
訳すのが【デフォルト】、〈Yes〉に置き換えるのが【実行速度】、ってと
ころかな」
『……【プログラムサイズ】じゃないの？』
「それはあるかも。【プログラムサイズ】は、コンパイル後の Exe の
サイズが小さくなるように最適化されるんだけど、それが同時に、実行速度
の最適化になる場合もあるから」
『あ、そういうこともあるんだ』
「で、【実行速度】も【プログラムサイズ】も、結局は【カスタマイズ】の
設定をいくつか組み合わせたものなんです」
『つまり、もっと細かく最適化したい場合には【カスタマイズ】ってこと
ね』
「そういうこと。ただ……」
『ただ？』
「最適化は勧めません」
『え、そうなの？』
「さっきの日本語から英語への訳の例で言うと、最適化することで〈誤訳〉
しちゃう場合があるんだよね」
『誤訳！？』
「最適化がうまくいかなくて、逆にバグが生まれる場合があるんです」
『それまずいじゃん！』
「そう、だから僕は最適化は勧めません。実際、【実行速度】はそれほど早
くならないし、【プログラムサイズ】も、今のインターネットの環境とか
ハードディスクのサイズとかを考えたら、気にするようなものじゃないし」
『確かにねー』
「だから最適化は、デバッグ時は【無効（デバッグ時）】、リリース時は
【デフォルト】がいいかな」
『結局そうなるのね。あ、一番下にもひとつある』
「最後の【関数のインライン展開の制御】っていうのは、 inline っていう
のを付けた関数【インライン関数】の話」

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

inline void InlineTest()
{
    OutputDebugString( "AAA\n" );
}

int WINAPI WinMain
    ( HINSTANCE p_hInstance
    , HINSTANCE p_hPrevInstance
    , LPSTR p_pchCmdLine
    , int p_iCmdShow
    )
{
    InlineTest();

    return 0;
}

『？　普通の関数と違うの？』
「ほとんど同じ。違うのは、呼び出し元に〈埋め込まれる〉という点」
『埋め込まれる！？』
「そう、呼び出すんじゃなくて」
『なんかマクロみたい』
「そうだね、マクロの代わりとして作られたものだから。 C++ で追加され
たものだからね。ただ、今のオプションで【無効】を選択すると、埋め込ま
れません」
『あれ、意味ないね』
「しかも、他の設定をしても、必ず埋め込まれるとは限りません」
『……なんかあんまり意味ないね』
「だから、 inline 関数自体あまり使われないし、【無効】でいいんじゃな
いかな」

/*
    Preview Next Story!
*/
『ふぅ、やっとコンパイルのが終わった』
「というわけで次回はリンク編」
『まだ続くの〜？』
「リンク編ではリンク時の設定、 Exe の設定をします」
『コンパイル編より難しい？』
「同じくらい」
『ほんとに〜？』
「というわけで次回」
＜ Version 15.24 「プロジェクトの設定」リンク編(1) ＞
『につづく！』
「難しすぎたら省略するから」
『ダメジャン』


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

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

