
/*
    KAB-studio.h
        @j`a|ŐTXVe
        i[ꂽwb_[t@Cłi΁jB

    (C)KAB-studio 1999 - 2000 ALL RIGHTS RESERVED.
        http://www.kab-studio.com/
        info@kab-studio.com

    MF 2000/06/05(Mon) No.060
    zMF 3740i Mag2 + Pubzine j
    sF ܂܂( URL: http://www.mag2.com/  ID: 0000012198 )
    sF Pubzine( URL: http://www.pubzine.com/  ID: 590 )
*/


/*                QOOONUTij̍XV                  */
http://www.kab-studio.com/Info/News/

E\Uo[WɁI 
@PAV\łI
@͌\Ɏdオ񂶂Ȃȁ[Ǝv܂B܁[^L
̃pNłijB̉̓`[ʂȓLTQŴ
łB
@Ȃ݂ɍ́uǎo[Wv܂B_E[hCG 
GalleryŁI

[`[ʂȓLTQW]
http://www.kab-studio.com/cgi-bin/cgiperl7.pl?nikki2/n12_05b.html__s__20000528
[CG Gallery]
http://www.kab-studio.com/CG/Gallery/


/*                        `[ʂȓL                        */
http://www.kab-studio.com/nikki2/

2000/05/28 (Sun)
@U\I@ŋ߂Ă蕗炱̃Vv
ł傤Ǝv̂łǂH

2000/05/29 (Mon)
@Ƃ̒Pʂ◚C\AL̘bȂǂ[FXB

2000/05/30 (Tue)
@[~ւƍstc[̓XccBɂĂPԃXs[`p̃l^
ĎvقǂȂȁ[BĔwɂccB

2000/05/31 (Wed)
@ŏIޏAccBă}gVXeJ̉АIl
ցB͂ĂāAǂȂ邱ƂccB

2000/06/01 (Thu)
@U͐hccB܂wɂBƂ肠{wăXgXU
ijB

2000/06/02 (Fri)
@myShade2 ŃfO̗KB[[̂͂ȂłȁB
ă[~ƂgтƂB

2000/06/03 (Sat)
@CXgfځI@ۂƕ`̂ǌ\łȂH@ƃe
rFXBuЂȂƃAEg[X^[ĎĂH


/*                         L̗JT                             */
http://www.kab-studio.com/Programing/KabuU/

2000/05/28 (Sun)
x

2000/05/29 (Mon)
x

2000/05/30 (Tue)
ւ
NXGNX|[gƂ̑ȂƂ
sNƂɑ
DLL ̃NX GetProcAddress() Ŏĝ͓
this |C^nKv邩
uNXvOC@v
COM Ɠdg
DLL œI쐬ĒۃNXŎ󂯎
z֐ʂĊ֐|C^Ăяo
bgƃfbg
ɂ̓NX̏񂪉Ă邩VvɂłȂ
uo͂@v悤ȋC

2000/05/31 (Wed)
x

2000/06/01 (Thu)
NX݌vyłłꍇƂłȂꍇ
NX͒N̂߂ɍ̂
^[QbgiȂō̂͂܂Ȃ
KTL ݂ȃCu͍iĂ邩y
߂邱Ƃ厖
ĂȂ͎̂Ă邱ƂɂȂ邩ł͓̂

2000/06/02 (Fri)
ՂƂŜR
|C^Ɏg
QƂ
AhX̋@\Ɏgꍇɂ̓AhXƂTOȂ
QƂꂽ
u͂̏v݂ȃ}K

2000/06/03 (Sat)
ՂƂ̎c
QƂ & gƎQƐ̃AhXԂ
ꂩ̗\
const Q
_CAOƃXg{bNXɂẲĂ\


/*             vO~OET̒ǉP                 */
http://www.kab-studio.com/Programing/Dictionary/
iUt܂ōXVx~܂A䗹j


~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~[KCM]
uAT̍L킷ꂽIv
wĂ[A̍LăzgɌʂ́Hx
u[ccv
@Ǝv͍wǓo^B
http://www.kab-studio.com/Programing/STLiostream/
_______________________________________________________________[KCM]


/*                       #pragma twice                            */
http://www.kab-studio.com/Programing/PragmaTwice/

@Version 4.10
AhXƃ|C^

u̓|C^Ă̂Љ܂v
wA|C^IHx
uāAmẮHv
wA܂ŉ\ɂȂĂ悧A|C^͓āIx
u܁[̂猾Ă邯ǁA̂́qzrɂ񂾕B|C
^̂̂͂ȂȒPSĂv
wȁ[񂾁A悩x
uĂ̊֐v

void Address()
{
    int i = 100;
    TRACE( "%X\n", &i );
}

w[ƁA i ̃AhX\Ă邾ˁx
uAϐ̑O & tƁAϐ̃AhXɂȂ񂾂ˁB
͂܂́qAhXrB̗ႾƃAhX𒼐ڏo͂Ă邯ǁA
ɁAɕϐɓꂽɂ͂ǂ΂Hv
wtc[ int ^ϐɓ΂񂶂Ȃ́Hx

void AddressToInt()
{
    int i = 100;
    int i2 = &i;    // G[B
}

wA_Ȃ́IHx
uG[Ă݂悤v

error C2440: 'initializing' : 
@'int *'  'int' ɕϊ邱Ƃ͂ł܂B
@̕ϊɂ reinterpret_cast, C X^C LXg
@܂͊֐X^C̃LXgKvłB

u܂AAhXĂ̂͒PȂ鐮lȂĂƁv
wcc int * Č^Ȃ́Hx
uƁBAhXāAϐƖڂɊւĂ邩AȂ
łȂƂ܂킯v
w܂́Hx
u܂́BƂ킯ŁAƂ͕ʂ̕ϐA̖q|C^rɓ
Kv܂v

void UsePointer()
{
    int i = 100;
    int *pi = &i;    // ꂪ|C^B
    TRACE( "%X, %X\n", &i, pi );    // 64F530, 64F530
}

w[A int * Ă̂|C^̌^Hx
uB^̃|C^́Ǎ^ * t̂q|C^^r
Ȃ܂B|C^^̂ЂƂv
wϐAꂪ pi Ȃ񂾁BŁA̒ i ̃AhXIx
uAhXo͂Ƃ i  & tȂႢȂ pi ̕
tȂĂAĂƂ|Cgˁv
w pi ɂ̓AhX̂́A 64F530 ƂĂ񂾂ˁx
uI@A[厖v
wȑ厖Hx
uBǂ͐Ă邾Ă̂ˁBƂ΂̗v

void ShowPointerAddress()
{
    int i = 100;
    int *pi = &i;
    TRACE( "%X, %X\n", &i, &pi );    // 64F530, 64F52C
}

wH@Ȃ pi  & tẮH@ȂłHx
uĂAhX\ȂˁBł pi ĕϐ̃AhX
\Ă邩v
wHHx
u pi ĕϐȂ񂾂AɒuĂ邵v
wAhXĂA\Ă̂ˁBȂ񂩂₱ccx
uŁAʂ~߂āA͂Ƃ 64F52C ̃AhXāv
w pi ̒g񂾂ˁBقx

0064F52C  30 F5 64 00 64 00 00 00 8C F5 64 00 42 2E 40 00 2C F8 64 00

wƁAǂȂĂ̂ȁx
uȂ݂Ƀ|C^̃TCÝAAhX̌^Ɋ֌WȂSoCgv
w[ˁAEBhÊƂ 0x00000000 ĂȂĂāA
PUiWĂSoCg炻ȁ[Ƃx
uhI@Ȃ񂩂ccv
wHx
uȂ݂ɂ̂SoCgĂ̂AEBhEYRQrbgĂ
̂Ɗ֌W邩v
w|C^̃TCY int ̃TCYHx
uƂȁB܁AƂ肠͂SoCgčlĂΑv
v
wŁASoCgĂƂ 30 F5 64 00 ܂ŁA pi ̒ɓĂĂ
Ƃ˂́ccx
ugGfBAHv
wtɂčŏ 00  64F530 ccI@ i ̃AhXIx
u䂱ƁB܂AAhXĒl|C^ɓĂĂƁv
w|C^ϐAƂ͓Ȃ񂾂ˁx
uI@xǁA|C^ɂ̓AhXĂĂA
ĂƂ厖v
w̃C[WYꂸɁHx
uƁBĎB炿ƓȂ邩o債Ăˁ[v
ẃ[B܁Ayx
uA̗āv

void ReferencePointer()
{
    int i = 100;
    int *pi = &i;
    TRACE( "%d\n", *pi );    // 100
}

wAƂQsڂ܂œˁBŌ̂PsƈႤǁB
Aʂ 100 H@AhXȂ 64F530 ƂȂȂHx
uႤƂ́A܂ %d ŏo͂ĂƂv
wPOiȂ񂾁x
u *pi A܂AX^XNtĂĂƂv
whAĊ|ZẮIHx
uႤႤB * ̓|C^Ƒgݍ킹ĎgƁq|C^ɓĂ
AhXwϐ̒lrԂ́v
wHHHx
u pi ̃AhX͂ǂ̕ϐ́Hv
w i ̂Bꂪq|C^ɓĂAhXwϐr
Ȃ񂾂A *pi ͂̕ϐ̒lccA 100 Ȃ񂾁Ix
uƁv
wAȂ񂩍IIx
u܂v

pi  : AhX
*pi : wϐ

uĂƂˁv
w[A܂|C^āAi̓AhXĂ񂾂ǁA * 
tƕϐɑςI@ĂƂȂ񂾁x
uƁBIH@[ɁAi̓AhXĂ
ƖYȂłˁv
wAx
ui̓AhXĂāA * tƂAwϐɂȂA
ĂƁv
w܂AhXCAwϐ͈ꎞIĂƂˁx
u̕ӂĂt邽߂ɂ낢뎎Ă݂܂B܂̊֐v

void MovePointer()
{
    int i = 100;
    int *pi = &i;
    TRACE( "%X\n", pi );    // 64F530
    ++pi;
    TRACE( "%X, %X\n", pi, *pi );    // Ƀu[N|CgB
}

wIH@Ȃ񂩃|C^őZĂccx
u֐TsڂɃu[N|CgZbgĎsIv
w͂I@~߂σ́Hx
uAEBhEJāARsڂŏoAhXĂ݂āv
wAǁx
ûPsAȂĂłv

0064F530  64 00 00 00 8C F5 64 00 D2 31 40 00 2C F8 64 00 C0 01 52 00

w[ƁAŏ̂S}XA 64 00 00 00  i ̒gˁBgG
fBA獶̕ŁA 0x64  100 x
uBmFPsi߂āv
wJbRщz{^Ix

64F534, 64F58C

wďo͂ꂽBƁAЂƂ߂ pi ̒̃AhXˁBHx
uRsڂ pi ̒̃AhX 64F530 ĂȂĂłv
wŁASsڂł̃AhXɂPĂ񂾂ˁBĂƂ 64F531 
Ȃ͂Ȃ̂Ɂx
uʂ 64F534 A܂SĂ܂BȂł[v
wccĂہ[ŌǁA int SoCgHx
us|[I@́A|C^ւ̑ZŹA̐̌vZ
͂ȂȂłv
w܂A|C^̌^̃TCY茸肷ĂƁHx
uƁBꂪ char ȂP邵A short Ȃv
wQBłȂłȂẮHx
úqׂ̕ϐr߁BЂƂ̏o͂āv
w 64F58C ̂ƁHx
u ++pi A܂ 64F534 ̏ꏊɂl̂ƁB̃AhXɂ
lāHv
wƁAԍ 64 ɂȂĂ}X 64F530 ˁB 4 Ă
Ƃ͂S}XEcc 8C ĂȂĂ}XȁHx
u int ͂SoCgTCYAS}X́v
w 8C F5 64 00 ŁAgGfBAtɂ 00 
64F58C ccAꂪo͂Ă񂾁Ix
u䂱ƁBĂ[APɁqЂƂ̂\rĂӂɍl
ȁv
wǂ䂱ƁHx
u ++pi ŁqЂƂׂɈړrĂƁB̂𕪂₷S}
XƂɕďƁccv

64 00 00 00 
8C F5 64 00 
D2 31 40 00 
2C F8 64 00 
C0 01 52 00

uĂȂłBāAɁqSoCgTCỸf[^
łrĂ݂Ȃ킯v
w܂ ++ ́AAhXl𑝂₷ĂƂȂāAЂƂɐi
čl̂ȁx
uI@q|C^i߂rčlقˁBmF̂߂ɂ
ЂƂĂv

void MovePointer_short()
{
    short sh = 100;
    short *psh = &sh;
    TRACE( "%X\n", psh );    // 64F530
    psh -= 1;
    TRACE( "%X, %X\n", psh, *psh );    // Ƀu[N|CgB
}

wƁAAϐ short ^ɂȂāA|C^ short ^BƁccA
|C^PĂIx
uĂƂ̓AhX͂ǂȂĂƁHv
w short ͂QoCgTCYAAhX͂QȂȂ񂶂Ȃ
ȁx
uł͎Ă݂܂傤Bo͌ʂ͂Ȋv

64F530
64F52E, 64

w 64F52E  2 𑫂 64F530 ˁA\zʂI@ŁA͂
Ɓx
uЂƂOAЂƂO̍s猩Ă݂Ɓccv

0064F51C  CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC 2E F5 64 00  
0064F530  64 00 CC CC 8C F5 64 00 82 32 40 00 2C F8 64 00 C0 01 52 00

w 64 00  sh ̒głB́ccQ}XOAE 
64 00 x
uAʋRɂȂˁB܁AƁBȂӂɖ
ĂƂł܂v
w܂Ƃ߂I@AhXϐAꂪ|C^B * tƁA
̃AhXwϐAĂƂƁAZZƁAo
Cg̕Ⴄx
u[YꂿႢȂ̂́Hv
w|C^ɂ̓AhXĂI@ˁx
u䂱ƁBꂾ͂[ɁAYꂿ_v
w͂Ix

/*
    Preview Next Story!
*/
wƂ₱Ƃ邯ǁAȓȂˁx
uȂƌĂ̂ȁ`Hv
whAA͂΂Ix
u̒q̒qIv
wƂ킯Ŏx
 Version 4.11 |C^ƃLXg 
uɂÂIv
whA܂|C^łx
uȂłHv
wAA΂񂾂Ix


/*                       ؂̗JT                           */
http://www.kab-studio.com/Programing/KanaU/
i݋x~łA䗹j


/*            QOOONUPQij̍XV\                */
http://www.kab-studio.com/Info/News/

EKAB-studio.h kōXV\B
@ KAB-studio.h UOɂȂ̂ŏkłXVƎvĂ܂B
AXVȂVɃt@C邩ccB


/*                          ӁII                            */

Ẽ[ԐMȂłB
EӌE]Ez[`[ʂȓL]肨肭B
http://www.kab-studio.com/nikki2/
EvO~OɊւ鎿[L̗JT]ɂ肭B
http://www.kab-studio.com/Programing/KabuU/
EwǓo^Ƃɂ͂̃y[WōsȂĂB
http://www.mag2.com/m/0000012198.htm
http://www.pubzine.com/detail.asp?id=000590
E͎ōsȂĂB
EobNio[͂̃y[Wɂ܂B
http://bigbeat.tegami.com/~mgsearch/frame.cgi?id=0000012198
http://www.kab-studio.com/Freeware/

/*
    KAB-studio.h
    Weekly Mail Magazine.
    Written by Kaburaya Seiden.

    (C)KAB-studio 1999 - 2000 ALL RIGHTS RESERVED.
        http://www.kab-studio.com/
        info@kab-studio.com
*/


/*                      See you next week!!                      */


