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

    KAB-studio.h


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

    MF 2004/12/13(Mon) No.286
    zMF 2032
    sF ܂܂ ( URL: http://www.mag2.com/  ID: 0000012198 )
*/
////////////////////////////////////////////////////////////////////

////////////////////////////////////////////////////////////////////
/*                QOOSNPQPRij̍XV              */
http://www.kab-studio.biz/index.html

Eׂłx
@߂ȂAׂЂĐFXx݁ccB


////////////////////////////////////////////////////////////////////
/*                        储ʂȓL                        */
http://www.kab-studio.biz/nikki2/index.html

2004/12/05 (Sun)
@\ǎɃSꂽ肻̑XB\ǎ`ĔꂽccB
vO~O肸ƔBƂȃOIwBȂ񂩓j͗JT
ccB

2004/12/06 (Mon)
@eXgƁB|WVIɔBvLAC
BăTUGǌQBă~[eBOB

2004/12/07 (Tue)
@闝RȂ̂ɔBƋA炳ɁccBPSɗLx
BNNn͂PQQX`PRBētHgB

2004/12/08 (Wed)
@eXgAeXgAeXgB}篂POKvWFNgɁBꂩB
ĂQXBăCtGUB

2004/12/09 (Thu)
@ߑO͂POKvWFNgAߌ͂PVKvWFNgBv̐w
vԂɕ׋BĂUԁBăcbR~Ԃ|CgB

2004/12/10 (Fri)
@ׂЂBɂccBr[͗\zƂԈĂ
ccBr[epĂBʂłςςB
ċxeԁB

2004/12/11 (Sat)
@ׂ͂قڎBP͔MoĂǁBۑ薲Ȃ̂
ccB]EH@_Iɂ܂ĂBdɍȂBł
zȂƁBRtŎ߂B傤ǐ؂肪ŁBXN
邯ǁBE͂ȂłBăANGAXBĎЉlB


////////////////////////////////////////////////////////////////////
/*                         A                             */
http://www.kab-studio.biz/Novel/Fuga/index.html

@\́@t@C_EgЁ@|PR|

uЂ[ALˁ[v
@܂𔒂͂ށA^}lM^̋ԁBグɂ͒o
̈ʂɒꂽẢɗArYAqAqq̎p
BU΁AƐUւĂB
ułłHv
uAccAv
@NՂƐ̓oPcӂɒuBقǌf
ނ̃X[c𒅂āB
@ccɐオӏɋCɂȂccB
wꂩ͋[s܂x
@Xs[J[畷qq̐B
wTԂ̎Rs܂BC^[o͂PBłHx
u͂v
@̖ڂ{CɂȂBɂ͏΂݁B
uȂA񕜔\͂͂܂Hv
uccv
@Xg[gɐuẮAɓ邵ȂB
u͂茾Đl݁B݂ȕsVs̔\͂͂ȂA
񕜂łxv
uccĂłHv
uACłv
u\\v
@ڂɂ~܂ʑŒ
u\\bIHv
@̍eւƓ荞ƂĒёނBɂ͖̏Ȃ
܂ŒBĂB
uccv
uŎKvȂĂ킩ˁv
@ƏN̊ԂɁA䂽ĂB
uccl̔ՁXƁccv
udԂ̓VlɌĂAǂ̂炢̐؂ꖡ
΂͂킩Ăˁv
uƂĂASʂJo[d؂킯Ȃł傤BȂJE^[
𓖂ĂꂽłHv
u͐̔\͂񂾂́BC̐CAȂg
AԓIɔcłB́AƑĐmv
uȂقǁv
uAx͂sBȂˁv
@oPco鐅A{JB
                                                              ()


~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~[KCM]

uA܂qlɂ͌ĂȂBAAPȂłv
uAPccv

Machician Rb DƃXL D]AڒI
[ Machician ]
http://d.hatena.ne.jp/kab_studio/20040823#1093276416
[ Machician{ݒ ŐVꗗ ]
http://d.hatena.ne.jp/kab_studio/searchdiary?word=*%5BMachician
_______________________________________________________________[KCM]

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

@Version 14.19
NeBJZNVgĂ݂I

uƂ킯ṓAȎANeBJZNVɂĂ
ڂĂ݂܂v
wR[hˁx
uˁA܂͂̃R[hǂƂ납B܂ANeBJ
ZNVpIuWFNgA̓IuWFNgƓ悤ɁA
O[oϐŎƂɂ܂v

// NeBJZNVpIuWFNgB
CRITICAL_SECTION g_stCriticalSection;

włnhȂx
uANeBJZNVp̓IuWFNg̓nhȂ
łv
wȂ񂩂Ⴄccx
uɁA̕ϐ̏Ɖv

// IncrementThread() ʃXbhƂČĂяo֐B
// ̊֐{^̃CxgnhƂŌĂłB
void CallThread()
{
    // NeBJZNV܂B
    InitializeCriticalSection( &g_stCriticalSection );

//  XbhĂяoƑҋ@B

    // NeBJZNV폜܂B
    DeleteCriticalSection( &g_stCriticalSection );
}

u API  InitializeCriticalSection() ŏāA 
DeleteCriticalSection() ŉ܂v
wnh󂯎肵Ȃ񂾂ˁccx
uɁAOnĂȂłv
wzgI@IuWFNgČ疼OŎʂȂ̂Ɂx
uNeBJZNV̓vZX̒v
wǂ䂱ƁHx
u̓IuWFNg͕̃vZXANZXł킯ǁA
̂߂ɂ͖OKvłBnh HANDLE ^̕ϐɓĂA
̃vZX͌Ȃ񂾂v
wAAʂccNeBJZNV͓vZX
̒łgȂAtɃ͑SLccx
u g_stCriticalSection ̓vÔǂłANZXł邩
ˁB܂Ȁƍ폜͓ɂƂ͂ĂȂÄ
dvȕĂ݂܂v

// ʃXbhŌĂяoA g_iData 𑝂₵֐B
void __cdecl IncrementThread( void *p_p )
{
    TRACE( "XbhJnB\n" );
    for( int iF1 = 0; iF1 < 10; ++iF1 )
    {
        // NeBJZNVŃbN|܂B
        EnterCriticalSection( &g_stCriticalSection );

        int i = g_iData;
        // 0.1 b҂܂B
        Sleep( 100 );
        g_iData = i + 1;
        TRACE( "%d\n", g_iData );

        // NeBJZNṼbN܂B
        LeaveCriticalSection( &g_stCriticalSection );
    }
    TRACE( "XbhIB\n" );
}

wāAO̎ɔׂāx

        // NeBJZNVŃbN|܂B
        EnterCriticalSection( &g_stCriticalSection );

wƁx

        // NeBJZNṼbN܂B
        LeaveCriticalSection( &g_stCriticalSection );

wǉꂽ񂾂ˁx
uB̂ӂ̓yAŎg܂B܂ANeBJZNVɂ
yR[hrzƂTO܂v
wR[hrHx
ûӂŋ܂ꂽ͈͂̃R[hA܂v

        // NeBJZNVŃbN|܂B
        EnterCriticalSection( &g_stCriticalSection );
// 
        int i = g_iData;
        // 0.1 b҂܂B
        Sleep( 100 );
        g_iData = i + 1;
        TRACE( "%d\n", g_iData );
// ܂
        // NeBJZNṼbN܂B
        LeaveCriticalSection( &g_stCriticalSection );

úANeBJZNVɂĔr܂v
wrccĂƂ́AЂƂANZXĂAANZXłȂ
ȂAĂƁHx
uA Version 14.03 ( No.270 ) ̃t@C̔rƂƓӖ
̔rB̂ӂ API A EnterCriticalSection()  
LeaveCriticalSection() ň͂܂ꂽԂ̃R[h́AЂƂ̃Xbh
sł܂v
wЂƂ̃XbhHx
uBƂ΃XbhP̏s悤ƂƂ܂v

// XbhPis
        // NeBJZNVŃbN|܂B
        EnterCriticalSection( &g_stCriticalSection );

uXbhP EnterCriticalSection() ĂяoƁAbN
v

        // NeBJZNVŃbN|܂B
        EnterCriticalSection( &g_stCriticalSection );
// XbhPis
// bN܂B

uɁAXbhQƂ܂v

// XbhQis
        // NeBJZNVŃbN|܂B
        EnterCriticalSection( &g_stCriticalSection );

// XbhPis
        int i = g_iData;
        // 0.1 b҂܂B
        Sleep( 100 );

uƂ낪AXbhPbN|Ă̂ŃXbhQ͂ő~
߂ƂȂ܂v

// XbhQis
// bN|Ă̂łŎ~܂܂B
        // NeBJZNVŃbN|܂B
        EnterCriticalSection( &g_stCriticalSection );

        int i = g_iData;
        // 0.1 b҂܂B
// XbhPis
        Sleep( 100 );

ůԁAXbhP͏킯łv
wXbhQȂԂɏႤ킯ˁx
uƁBŁAbNÔA LeaveCriticalSection() 
яov

// XbhQis
// bN܂B
        // NeBJZNVŃbN|܂B
        EnterCriticalSection( &g_stCriticalSection );

        int i = g_iData;
        // 0.1 b҂܂B
        Sleep( 100 );
        g_iData = i + 1;
        TRACE( "%d\n", g_iData );

        // NeBJZNṼbN܂B
        LeaveCriticalSection( &g_stCriticalSection );
// XbhPis
// bN܂B

ubNƁAXbhQ邱Ƃł܂v

        // NeBJZNVŃbN|܂B
        EnterCriticalSection( &g_stCriticalSection );
// XbhQis
        int i = g_iData;
        // 0.1 b҂܂B
        Sleep( 100 );
        g_iData = i + 1;
        TRACE( "%d\n", g_iData );

        // NeBJZNṼbN܂B
        LeaveCriticalSection( &g_stCriticalSection );

// XbhPis

uāA EnterCriticalSection()  LeaveCriticalSection() ŋ
Ԃ́AЂƂ̃Xbh悤ɂȂ킯łv
wꂪAR[hɔr|AĈӖȂ̂ˁBccIx
u͂Δv
wXbhRHx
uXbhQƓ҂܂v

// XbhRis
// bN|Ă̂łŎ~܂܂B
// XbhQis
// bN|Ă̂łŎ~܂܂B
        // NeBJZNVŃbN|܂B
        EnterCriticalSection( &g_stCriticalSection );

ubNꂽAɗXbhɓāA̐ɗ
XbhbN|ႤAɗ͂܂~܂܂v

// XbhRis
// bN|Ă̂łŎ~܂܂B
        // NeBJZNVŃbN|܂B
        EnterCriticalSection( &g_stCriticalSection );
// XbhQis
// bN܂B

wȂقǁAXbhςĂǓ̂͂ЂƂȂ
ˁx
uƁv

/*
    Preview Next Story!
*/
wzgɂԈႤˁA̓IuWFNgƁx
uVOiƂ֌WȂ킩₷łv
wĂ[ʕBtɂ킩ɂx
umɁcc܂A̓IuWFNgƓ񂾂ǁv
wƂ΁Hx
uƂ킯Ŏv
 Version 14.20 NeBJZNVƓIuWFNg 
wɂÂIx
uƂ΃fbhbNNƂv
wx


////////////////////////////////////////////////////////////////////
/*                QOOSNPQQOij̍XV              */
http://www.kab-studio.biz/index.html

EقƂ́[VWJH
@Ol̃zbgn[uǍvs邩H


////////////////////////////////////////////////////////////////////
/*                          ӁII                            */

Ẽ[ԐMȂłB
EӌE]Ez[`[ʂȓL]肨肭B
http://www.kab-studio.biz/nikki2/
EwǓo^Ƃɂ͂̃y[WōsȂĂB
http://www.mag2.com/m/0000012198.htm
E͎ōsȂĂB
EobNio[͂̃y[Wɂ܂B
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 - 2004 ALL RIGHTS RESERVED.
        http://www.kab-studio.biz/
        info@mail.kab-studio.biz
*/
////////////////////////////////////////////////////////////////////

