////////////////////////////////////////////////////////////////////
ITエンジニア社員募集 -採用者には５万円進呈-
Supported by effect : http://af1.mag2.com/m/af/0000008658/001/s00000003179001/008
////////////////////////////////////////////////////////////////////
/*

    KAB-studio.h


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

    送信日： 2006/05/01(Mon) No.355
    配信数： 1780
    発行元： まぐまぐ ( URL: http://www.mag2.com/  ID: 0000012198 )
*/
////////////////////////////////////////////////////////////////////

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

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


2006/05/01 (Mon)
　#pragma twice ホームページ版にアーカイブ追加！
15.13 DLL の実行中リンク
15.14 自作 DLL を実行中リンクしてみる
[ #pragma twice ]
http://www.kab-studio.biz/Programing/PragmaTwice/index.html


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

2006/04/23 (Sun)
　午前中はアニメ観つつ更新。お昼に落ちる。午後にカブカテキョ。あと
MOTHER3して以上。やってないことがたくさん……。

2006/04/24 (Mon)
　今日の講義はデザパタまわり。このあたりの説明は難しい。残り３分の１
をどう説明するか。帰ってからは日報送ったりとか。カブカテキョを少しで
もしておこう。そして血尿でるまで。

2006/04/25 (Tue)
　講義そのものは明日で終わるんで物足りない。補講はする予定だけど。
体力的に慣れてきたが、その分雑に？　ゴールデンウィークまでに
インストール方法まとめておきたい。

2006/04/26 (Wed)
　Strutsタグライブラリの説明。演習問題がない。初めての講義でノウハウ
がない。液晶プロジェクターがさらに壊れる。７月８月にちゃんとしよう。

2006/04/27 (Thu)
　ひたすら演習。なんか精神的に疲れてきた？　Strutsは上級者向けだ。
設定関係の準備をちゃんとしておかないと……。そして柔軟な体制。

2006/04/28 (Fri)
　今日は午後から。その前に諸手続。講義は演習三昧。かなり忙しかった。
帰りに秋葉原寄って帰宅。徹ゲーするんでスケジュールがちょっときつい。
でも眠くてできん。

2006/04/29 (Sat)
　現在３０日。ゲーセンへ。クイズ機動戦士ガンダム 問・戦士が激しく
微妙。そのあと徹ゲー。６時に上がって帰宅。


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

2006/04/23 (Sun)
http://d.hatena.ne.jp/kab_studio/20060423
起きたの。
[KAB-studio]ぷらとわ追加。
[KAB-studio][ほとはー]ほとはー外伝３ 色々修正。
[アニメ]おねがいマイメロディ〜くるくるシャッフル！〜 
　第4話「イケメンになったらイイナ！」
[アニメ]「牙」 第4話「風の決意」
[アニメ]ひぐらしのなく頃に 第3話「鬼隠し編　其ノ参　疑心」
[アニメ]西の善き魔女 第3話「秘密の花園」
[MOTHER3]５章途中。

2006/04/24 (Mon)
http://d.hatena.ne.jp/kab_studio/20060424
起きたみたい。
帰宅。
[MOTHER3]７章突入。
[アニメ]ARIA The NATURAL 第4話「その　ネオ・ヴェネツィア色の心は…」
[アニメ]Fate/stay night 第16話「約束された勝利の剣」
[アニメ]うたわれるもの 第3話「紫琥珀」
[Prog]KAB-studio RSSの更新ができない。

2006/04/25 (Tue)
http://d.hatena.ne.jp/kab_studio/20060425
起きた。
帰ってきた。
[MOTHER3]７章途中。
ごめんだめ
[アニメ]涼宮ハルヒの憂鬱 第4話「涼宮ハルヒの退屈」

2006/04/26 (Wed)
http://d.hatena.ne.jp/kab_studio/20060426
起きた。
[装備]液晶プロジェクターさらに壊れた。
帰宅したー。
[MOTHER3]○○○さん。
[アニメ]桜蘭高校ホスト部 第4話「女子マネージャー襲来」
[アニメ]ブラックラグーン 第3話「Ring-Ding Ship Chase」

2006/04/27 (Thu)
http://d.hatena.ne.jp/kab_studio/20060427
起きたのです。
帰宅したー。
[アニメ]ゼーガペイン 第4話「上海サーバー」
[アニメ]過去分追加。
[MOTHER3]キノコ。
[link][絵]Google SketchUp

2006/04/28 (Fri)
http://d.hatena.ne.jp/kab_studio/20060428
起きた。
[link]任天堂「レボリューション(仮称）」の正式名称が
　「Wii（ウィー）」に決定
[買]planetarian来る。
そろそろ行ってきます。
帰ってきた。
[買]メロブで買ってきたもの。
[きらら]まんがタイムきららCarat 2006年6月号
[MOTHER3]裏山へ。
[アニメ]かりん 第23話「サヨナラは　恥ずかしい」
[アニメ]ザ・サード 〜蒼い瞳の少女〜 第3話「砂漠の街」

2006/04/29 (Sat)
http://d.hatena.ne.jp/kab_studio/20060429
起きた。
[アニメ]彩雲国物語 第4話「それは宝の持ち腐れ」
[アニメ]ふしぎ星の☆ふたご姫 Gyu! 第5話「学園ニュース☆レインの女子アナ大作戦」
[アニメ]ウィッチブレイド 第4話「動」
そろそろ行ってきます。


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

（今週はお休みです）


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

■　第十三章　二人の間　−１７−

　夜。
　見上げると、満天の星空が山々を包み込んでいた。
「まだ掛かるのか」
「徹夜でやるって。持ってきてるバッテリーが上がるまでやって、明日の朝
帰るって言ってる」
「科学者ってのはそういうときは体力あるんだな」
　雅樹は地面に寝そべり、空を見上げる。
「寝るの？」
「知ってるだろ、俺は寝られない。意識が混濁することすらないからな」
「でも、この前」
「…………」
　神薙遥という女に打ちのめされたとき、雅樹は始めて、意識を失った。
「あれは特別なんだろ。寝ようと思っても絶対に寝れないからな」
「そういうもんなんだ。……やっぱ辛いの？」
「辛い。永遠に時間が続いていく、そう思い知らされると、絶望する」
　それは、滅多に言わない、雅樹の泣き言。
「洗礼を受けてからすぐにそう感じた。二十年くらい、ただひたすら暴れて
何もかも忘れようとした。忘れることができないと気付いたら、そのあとの
二十年は――」
　雅樹の透き通るような瞳に、夜空が刷り込んでいた。
「――死ぬ方法を探し続けた」
「…………」
　ただ生きるだけの人生。目標も目的もない、生かされるだけの生命。終わ
りがないということへの、恐怖。
「いくら自分を切り刻んでも、何度焼き尽くしても、死ぬことはなかった。
どこにも、どんなに探しても、死ぬ方法は見つからなかった。それでもただ
ひたすら、死ぬことだけを求めてたんだ、ただ死にたかったんだ、あの時
は」
「私にも、なんとなくわかる、多分……」
　舞も横に並ぶように寝そべり、空を見上げる。
　寿命という点では比べようもなくても、まだ高校生の自分が、泉の力を持
ち、それを使い、何かをしようとする。この、一般的ではない異常な人生
を、いつまで続けなければいけないのか。
　もう、元の生活には戻れない。
「……でも、私には、今やらなきゃいけないことがあるなら、それをした
い」
　舞は雅樹の手を握った。
　雅樹はその手を離し、体を起こして、舞の上に体を置いた。
「舞、抱かせてくれ」
                                                              (続く)

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

■追加・更新単語

（今週の追加はありません）


////////////////////////////////////////////////////////////////////
ITエンジニア社員募集 -採用者には５万円進呈-
Supported by effect : http://af1.mag2.com/m/af/0000008658/001/s00000003179001/008
////////////////////////////////////////////////////////////////////
// #pragma twice
http://www.kab-studio.biz/Programing/PragmaTwice/index.html

　Version 16.28
関数の代わりに static メンバ関数

「前回は static メンバ関数について説明しました」
『なーんか不便だったけど』
「うん、 static メンバ関数は変数を通して呼び出す必要がないから、同じ
クラスの非 static メンバにアクセスできないからね」
『そこがめんどいんだよねー。で、今回はその使い道の話だよね』
「そう。 static メンバ関数の目的は、ずばり」

・普通の関数の代わり

「に使います」
『……普通の関数の代わり？』
「そう、つまりメンバ関数ではない、普通の関数。特によく使うのが」

・コールバック関数の代わり

「という使い道です」
『コールバック関数ってなんだっけ』
「関数ポインタを渡しておくことで、あとでその関数を呼び出してもらう、
そういう関数のこと。たとえばウィンドウプロシージャとか」
『あ、そういう関数ね』
「別に普通の関数でもいいんだけど、でも〈あるクラスと結び付けたい〉、
そういう場合にはこの static メンバ関数を使用します」
『んー、で、具体的にはどうつかうの？』
「そうだね……スレッドを例にしようか」
『スレッドって、もうひとつプログラムの流れを作るっていうあれだよね』
「 Version 14.14 ( No.281 ) と Version 14.15 ( No.282 ) で作成方法と
使用方法を説明したよね。これと同じことを、 static メンバ関数でも行い
ます」
『そんなことできるんだ……』
「まず、これからのプログラムを試す前に設定を変更します。メニューの
【プロジェクト】-【設定】を選択してください」
『おなじみのダイアログね。このどこ変えるの？』
「【C/C++】-【コード生成】の【使用するランタイム ライブラリ】を
次のいずれかに変更してください」

[デバッグビルド]
・マルチスレッド(デバッグ)
・マルチスレッド(DLL、デバッグ)

[リリースビルド]
・マルチスレッド
・マルチスレッド(DLL)

『あ、これって Version 15.22 ( No.322 ) のだね』
「そう。これが【シングルスレッド】になっていたら、【マルチスレッド】
のバージョンに変えておいてください」
『ほい』
「それでは、今度はプログラムの方」

// Data.h

// CDataクラス。
class CData
{
public:
    // static メンバ関数。
    // このメンバ関数が新しいスレッドから呼び出されます。
    void static __cdecl ThreadFunction( void *p_p );
};


// Data.cpp
#include <Windows.h>
#include <stdio.h>

#include "Data.h"

// static メンバ関数。
// このメンバ関数が新しいスレッドから呼び出されます。
void __cdecl CData::ThreadFunction( void *p_p )
{
    OutputDebugString( "スレッドから。\n" );
}


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

#include "Data.h"

int WINAPI WinMain
    ( HINSTANCE p_hInstance
    , HINSTANCE p_hPrevInstance
    , LPSTR p_pchCmdLine
    , int p_iCmdShow
    )
{
    // 新しいスレッドを作って、CDataクラスの
    // ThreadFunction()メンバ関数を呼び出します。
    _beginthread( CData::ThreadFunction, 0, NULL );

    OutputDebugString( "スレッド呼んだよ。\n" );
    OutputDebugString( "5 秒止まります。\n" );
    Sleep( 5 * 1000 );
    OutputDebugString( "5 秒止まりました。\n" );
    OutputDebugString( "関数終了します。\n" );

    return 0;
}

『お、マルチスレッドの関数が』
「基本的には Version 14.14 ( No.281 ) と同じです。そのときは以下のよ
うに使用していました」

// 別スレッドで呼び出される関数。
void __cdecl ThreadFunction( void *p_p )
{
    TRACE( "スレッドから。\n" );
}

// スレッドを作って呼び出す関数。
void UseThread()
{
    _beginthread( ThreadFunction, 0, NULL );
}

『 _beginthread() がスレッド作って呼び出すランタイムで、 
ThreadFunction() がその呼び出される関数なんだよね』
「そういうこと。今回もその関係と同じ。新しいスレッドで呼び出す関数を
static メンバ関数にします」

class CData
{
public:
    // static メンバ関数。
    // このメンバ関数が新しいスレッドから呼び出されます。
    void static __cdecl ThreadFunction( void *p_p );
};

『そか、さっきの ThreadFunction() をメンバ関数にして、 static 付けれ
ばいいんだ』
「 static を付ける場所に注意してね。戻り値の次、って憶えておくといい
かも」
『はーい』
「で、このように static メンバ関数としておけば、 _beginthread() 等の
関数に関数ポインタを渡すことができます」

＞
    // 新しいスレッドを作って、CDataクラスの
    // ThreadFunction()メンバ関数を呼び出します。
    _beginthread( CData::ThreadFunction, 0, NULL );
＜

『あ、書き方は CData::ThreadFunction なんだ』
「そう、関数のアドレスを取得するわけだから()は付けないようにします。
あとは、他の static メンバ関数と同じようにクラス名の【CData::】を付
け加えておきます」
『これで static メンバ関数が呼び出されるんだ……』
「ちなみに当然だけど、非 static メンバ関数だとエラーになります」

// CDataクラス。
class CData
{
public:
    // static メンバ関数。
    void __cdecl ThreadFunction( void *p_p );
//      ↑static がありません。
    // コンパイルエラー：
    // error C2664: '_beginthread' : 
    // 1 番目の引数を 
    // 'void (__cdecl CData::*)(void *)' から 
    // 'void (__cdecl *)(void *)' に変換できません。
};

『やっぱだめなんだね』
「非 static メンバ関数は、必ず変数と結び付けて呼び出すことになるか
ら。関数ポインタだけ渡すようだとその変数を渡す方法がないからね」
『だから static メンバ関数にする、ってわけね』
「さて、実は今回で Version 16 は終了です」
『ええっ！？　なんかすごく中途半端なところで終わるような……』
「そのとおり。なぜかというと、次の Version 17 も引き続きクラスの解説
だから」
『……ってことは、あまり内容は変わらない？』
「クラスの解説、っていう点では変わらないけど、でも内容的にはかなり違
うかも。とりあえず……」
『とりあえず？』
「面白いと思うよ」
『まっさかー』

/*
    Preview Next Story!
*/
『あり得ない！　面白いとかあり得ないから！』
「プログラミングは楽しくない？」
『それはおいといて！』
「置いとくのか」
『というわけで次回』
＜ Version 17.01 クラスの継承 ＞
「につづく！」
『継承？』
「そう、全てはここから始まるんです」


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

・このメールを返信しないでください。
・ご意見・ご希望・ご感想は[チョー普通な日記]よりお送りください。
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 - 2006 ALL RIGHTS RESERVED.
        http://www.kab-studio.biz/
        info@mail.kab-studio.biz
*/
////////////////////////////////////////////////////////////////////

