y‰SŽÒнŒ}zC/C++Ž ..
[2ch|¥Menu]
227:ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
07/11/10 11:50:28
>>226
ƒ|ƒCƒ“ƒ^‚âŽQƂƂ©‚̃AƒhƒŒƒX‚ð•K—v‚Æ‚µ‚È‚¢ê‡‚Å‚àí‚Ƀƒ‚ƒŠŠm•Û
‚ð‹­§‚³‚ê‚邯‚¢‚¤‚Ì‚ðV‚µ‚¢‹KŠi‚Å”F‚é‚Ì‚ÍM‚¶‚ª‚½‚¢‚¯‚ÇB

³Šm‚ȂƂ±‚ë’m‚Á‚Ä‚élAƒtƒHƒ[plz

228:ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
07/11/10 12:43:08
>>224
‚³‚Á‚«‚©‚çŽÀ‘•ˆË‘¶‚¾‚ÆŒ¾‚Á‚Ä‚é‚Ì‚Á‚ÄA–¼‘O‹óŠÔƒXƒR[ƒv‚É’è‹`‚µ‚½ const •Ï”‚Ì
˜b‚¶‚á‚È‚¢‚ÌH

ƒNƒ‰ƒX‚Ì static const ‚ȃƒ“ƒo•Ï”‚̓Nƒ‰ƒX’è‹`“à‚Å‚Í錾‚µ‚©‚³‚ê‚È‚¢‚Ì‚ÅA
•Ê“r’è‹`‚ª•K—vB®”Œ^‚ÉŒÀ‚Á‚ÄA錾‚ɂ‚¯‚½‰Šú’l‚ðŽ‚Â’è”Ž®‚Æ‚µ‚ÄŽg‚¦‚é
‚Æ‚¢‚¤“Á•ʃ‹[ƒ‹‚ª‚ ‚邾‚¯B

C++ 2003 ‹KŠi‚Ì 9.4.2 p2 ‚æ‚è
> The declaration of a static data member in its class definition is not a definition and may be of an
> incomplete type other than cv-qualified void. The definition for a static data member shall appear in a
> namespace scope enclosing the memberfs class definition.

“¯‚¶‚­ 9.4.2 p4
> If a static data member is of const integral or const enumeration type, its declaration in the class
> definition can specify a constant-initializer which shall be an integral constant expression (5.19). In that
> case, the member can appear in integral constant expressions. The member shall still be defined in a namespace
> scope if it is used in the program and the namespace scope definition shall not contain an initializer.


229:228
07/11/10 12:53:51
‚ A®”Œ^‚Ì static const ƒƒ“ƒo•Ï”‚ɂ‚¢‚Ä‚Í "if it is used" ‚Á‚Ä‚ ‚é‚©‚çA
’蔎®‚̈ꕔ‚Æ‚µ‚ÄŽg‚¤‚Ô‚ñ‚ɂ͒è‹`‚Í•K—v–³‚¢‚ËBŽQÆ‚âƒ|ƒCƒ“ƒ^‚ðŽæ‚ç‚ê‚é
‰Â”\«‚ª‚ ‚é‚È‚çŠÖŒW‚È‚¢‚¯‚ÇB

>208 ‚Ì—á‚à‚ ‚邵Aƒ‰ƒCƒuƒ‰ƒŠ‚Æ‚µ‚Ä’ñ‹Ÿ‚·‚邿‚¤‚ÈŽž‚ɂ͋C‚ð‚‚¯‚Ä’è‹`‚µ‚Æ‚©‚È‚¢‚Æ
‚Ü‚¸‚¢‚ËB


230:ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
07/11/10 14:09:21
>>228
thx

231:ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
07/11/10 14:23:44
bind1st‚âbind2nd‚Ì–ß‚è’l‚͉½‚Å‚µ‚傤‚©H
‚Ç‚¤‚¢‚¤«Ž¿‚Ì‚à‚̂Ȃ̂©H‚ ‚ÆŒ^–¼‚Æ‚©B

232:ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
07/11/10 15:20:54
binder1st‚âbinder2nd

233:ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
07/11/10 17:13:27
>>232
‚»‚ê‚͈ø”‚ðˆê‚‚Ƃéoperator( )‚ª’è‹`‚³‚ê‚Ä‚¢‚éŠÖ”ƒIƒuƒWƒFƒNƒg‚Ì
ƒNƒ‰ƒXŒ^‚Æ‚¢‚¤‚±‚Ƃł·‚æ‚ËH

234:ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
07/11/10 17:36:10
‚»‚¤B
’¼Úbinder1st‚âbinder2nd‚ðŽg‚Á‚Ä‚à–â‘è‚Í–³‚¢‚ñ‚¾‚¯‚ÇA
‚»‚ÌꇂÍbinder1st<‚±‚±‚ð‘‚©‚È‚«‚á‚¢‚¯‚È‚¢‚Ì‚ª‚ß‚ñ‚Ç‚¢‚æ‚Ë>B

235:ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
07/11/10 17:42:20
>>234
‚Ç‚¤‚àB
ƒXƒgƒ‰ƒbƒv–{‚Å—‰ð‚Å‚«‚Ü‚µ‚½B

236:ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
07/11/10 18:11:21
•R–{H

237:ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
07/11/10 18:14:49
“Ö{

238:ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
07/11/11 15:11:11
VC6.0‚Å‚©‚©‚ꂽƒvƒƒOƒ‰ƒ€‚ðVisualStudio2005‚ɈÚA‚µ‚悤‚Æ‚µ‚Ă܂·B

‚ ‚éƒvƒƒZƒX‚Åstrtokij‚ÅAƒg[ƒNƒ“•ª‰ð’†‚ÉÓIƒŠƒ“ƒN‚µ‚½DLL‚ÌŠÖ”‚ðŒÄ‚ñ‚Å‚¢‚Ü‚·B
‚»‚ÌŠÖ”“à‚Å‚àstrtok()‚µ‚Ä‚é‚炵‚­AŠÖ”I‚¦‚ČĂÑo‚µŒ³‚Å‘±‚«‚Ìstrtok()‚ð‚µ‚æ‚¤‚Æ‚·‚邯AˆÓ}‚µ‚È‚¢’li‹ï‘Ì“I‚É‚ÍNULLj‚ª“ü‚Á‚Ä‚µ‚Ü‚¢‚Ü‚·B

MSDN‚ɂ͂bƒ‰ƒ“ƒ^ƒCƒ€ƒ‰ƒCƒuƒ‰ƒŠ‚̕łÉÓIƒŠƒ“ƒN‚È‚ç–â‘è‚È‚¢‚悤‚È‚±‚Ƃ𑂢‚Ă܂·‚ªA
‚È‚ºstrtok()‚ªÃ“IƒŠƒ“ƒN‚µ‚½ŠÖ”‚ɂЂ«‚Âç‚ê‚é‚̂łµ‚傤‚©B
‚ ‚ÆVC6.0‚Ì ‚͈ø‚«‚¸‚ç‚ê‚È‚©‚Á‚½‚̂łµ‚傤‚©B

ŠÂ‹«FXP MFC


239:ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
07/11/11 15:26:26
>>238
strtok() ‚̓kƒ‹‚ð“n‚³‚ꂽ‚Æ‚«‚Ì‚½‚߂ɑO‰ñ‚Ì•ªŠ„ˆÊ’u‚ðÓI‚ȕϔ‚ÉŠo‚¦‚Ä‚¢‚é
‚±‚Æ‚ª‚ ‚éB‚¾‚©‚çAŠî–{“I‚É‚»‚¤‚¢‚¤Žg‚¢•û‚͂ł«‚È‚¢B

URLØÝ¸(msdn2.microsoft.com)(VS.80).aspx
ÓIƒŠƒ“ƒN‚Å DLL ‚Ƃ̋£‡‚ª‹N‚±‚ç‚È‚¢——R‚à‚¿‚á‚ñ‚Æ‘‚¢‚Ä‚ ‚éB
VC8(VS2005) ‚Å‚àÓIƒŠƒ“ƒN‚ÍŽg‚¦‚é‚©‚çA–¾Ž¦“I‚ÉŽw’è‚·‚ê‚Γ¯‚¶“®ì‚É
‚È‚é‚ñ‚¶‚á‚È‚¢‚ÌH

240:238
07/11/11 17:30:02
>>239
‚ ‚肪‚Æ‚¤B
Ž©•ª‚à‚»‚̕Ō©‚Ä‚½‚¯‚ÇAÓIƒŠƒ“ƒN‚·‚é‚Ì‚ÍCRT‚Å‚ ‚Á‚ÄA
‚±‚¿‚炪ì‚Á‚½DLL‚¶‚á‚È‚¢‚킯‚Å‚·‚ËB
‚»‚±‚ðŠ¨ˆá‚¢‚µ‚Ă܂µ‚½B

Œ‹‹Ç‚ǂ̃Rƒ“ƒpƒCƒ‰ƒIƒvƒVƒ‡ƒ“‚ð‘I‚ׂ΂¢‚¢‚©’²‚ׂ«‚ê‚È‚©‚Á‚½‚Ì‚Å
VC6.0‚ÌŽž‚Í“K؂ȃRƒ“ƒpƒCƒ‰ƒIƒvƒVƒ‡ƒ“‚¾‚Á‚½‚ñ‚¾‚낤‚¯‚ÇA¡‰ñ‚Ístrtok_s()Žg‚¤‚±‚Ƃɂµ‚Ü‚µ‚½B

241:ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
07/11/11 17:38:52
•„†‚È‚µ®”‚¾‚ƃI[ƒoƒtƒ[‚ª‹N‚«‚È‚¢
‚Æ‚¢‚¤‚悤‚Șb‚ð‚Æ‚«‚Ç‚«Žf‚¤‚̂ł·‚ªA
‚Ç‚¤‚¢‚¤‚±‚ƂȂ̂©—‰ð‚Å‚«‚Ü‚¹‚ñcc
‹³‚¦‚Ä’¸‚¯‚Ü‚¹‚ñ‚©H

242:ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
07/11/11 17:56:28
ƒI[ƒoƒtƒ[‚ª‹N‚«‚È‚¢‚È‚ñ‚Ä‚±‚Ƃ͂Ȃ¢‚̂ŖY‚ê‚Ä‚­‚¾‚³‚¢

243:ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
07/11/11 18:00:02
>>241
•„†‚È‚µ®”‚ÌŒvŽZ‚Å‚ÍAÅ‘å’l‚ÌŽŸ‚ª 0 ‚Å 0 ‚Ì‘O‚ªÅ‘å’l‚Æ‚¢‚¤‚Ó‚¤‚Ƀ‰ƒbƒv‚µ‚Ä‚¢‚é
‚à‚̂Ƃµ‚ÄŒ‹‰Ê‚ª•K‚¸‚»‚ÌŒ^‚͈͓̔à‚ÉŽû‚Ü‚éA‚Æ‹KŠi‚Å’è‚ß‚ç‚ê‚Ä‚¢‚éB

ƒ‰ƒbƒv‚·‚éꇂðŽw‚µ‚ăI[ƒo[ƒtƒ[‚ÆŒ¾‚¤‚©‚Ç‚¤‚©‚Í”÷–­‚ȂƂ±‚ëB

244:ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
07/11/11 18:28:41
>>243
‚È‚é‚Ù‚ÇA”[“¾‚Å‚«‚Ü‚µ‚½
‚ ‚肪‚Æ‚¤‚²‚´‚¢‚Ü‚·

245:ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
07/11/11 18:50:42
‚Í‚¶‚߂܂µ‚ÄB
‰SŽÒ‚Å‚·B
C++‚ɂ‚¢‚ÄŽ¿–₪‚ ‚è‚Ü‚·B
Array‚ÆVecotor‚Ì‘S‚Ă̒l‚ðƒtƒ@ƒ“ƒNƒVƒ‡ƒ“‚É“n‚µ‚ÄAArray‚Ì‘S‚Ă̒l‚ðReturn‚µ‚½‚¢‚̂ł·‚ªA
‚¤‚Ü‚­‚¢‚«‚Ü‚¹‚ñB
ƒR[ƒ‹‚ÌŽd•û‚ÆAƒvƒƒgƒ^ƒCƒv‚Ì‘‚«•ûA‚»‚ê‚©‚çReturn‚Ì‘‚«•û‚ð‹³‚¦‚Ä‚­‚¾‚³‚¢B

‚à‚µ‚­‚ÍA‰½‚©•ʂ̕û–@‚ð‚µ‚È‚¢‚Æ‚¢‚¯‚È‚¢‚̂łµ‚傤‚©cH

‚æ‚낵‚­‚¨Šè‚¢‚µ‚Ü‚·B

246:ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
07/11/11 18:58:21
>>245

Array ‚Æ‚© Vecotor ‚Æ‚©•·‚¢‚½‚±‚ƂȂ¢‚¯‚Ç
int ‚Ȃ艽‚È‚è‚Æ•Ï‚í‚ç‚ñ‚ÆŽv‚¤‚æ

Array func(Array a)
{
@/* a ‚ɂ‚¢‚Ä‚¢‚ë‚¢‚눗 */
@return a;
}

void func(Array *a)
{
@/* a ‚ɂ‚¢‚Ä‚¢‚ë‚¢‚눗 */
}

247:245
07/11/11 19:14:29
>246

Int‚âDoubleAChar“™‚ÌScalar•Ï”i‚ЂƂ‚̒l‚µ‚©ŠÜ‚܂Ȃ¢•Ï”j‚È‚ç
‚¤‚Ü‚­‚¢‚­‚̂ł·‚ªAArray‚âVector‚̂悤‚ÈCollection•Ï”i“ñ‚ˆÈã‚Ì’l‚ðŠÜ‚Þ•Ï”j‚Í
‚È‚º‚©‚¤‚Ü‚­‚¢‚©‚È‚¢‚̂ł·B

IntŒ^Array‚ɂ‚¢‚ÄA
Int myFunction(myArray[])
o
Array‚ɂ‚¢‚Ĉ—

return myArray[]G
p
‚âA
StringŒ^Vector‚ɂ‚¢‚Ä

String myFunction(myVector[])
o
myVectorˆ—
@
@return@myVector[];
o

‚̂悤‚É‚â‚낤‚Æ‚µ‚Ä‚¢‚é‚̂ł·‚ªAŠÔˆá‚¦‚Ä‚¢‚é‚̂łµ‚傤‚©cH

248:ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
07/11/11 19:36:53
>>247
ƒRƒ“ƒpƒCƒ‹‚à‚Å‚«‚È‚¢ƒR[ƒh‚ð“\‚Á‚ÄuŠÔˆá‚¦‚Ä‚¢‚é‚̂łµ‚傤‚©cHv‚Á‚ÄA‰½l‚¦‚Ä‚ñ‚¾H
ƒGƒXƒp[‚Å‚à•åW‚µ‚Ä‚ñ‚Ì‚©H

‚Ƃ肠‚¦‚¸ C/C++ ‚Å‚Í‘å•¶Žš¬•¶Žš‚ª‹æ•Ê‚³‚ê‚é‚©‚çA‹æ•Ê‚µ‚ëB‚¢‚܂̂܂܂¶‚á
‚ß‚¿‚á‚­‚¿‚á‚·‚¬‚éB

ŽÀۂɃR[ƒh‚ð‘‚¢‚ăRƒ“ƒpƒCƒ‹‚µ‚ëB‚»‚µ‚½‚çƒGƒ‰[ƒƒbƒZ[ƒW‚ªo‚é‚©‚çA‚»‚ê‚ð‰ÅB

249:ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
07/11/11 19:36:59
‰½‚ª‚â‚肽‚¢‚Ì‚©A‚Ü‚¾‚æ‚­‚í‚©‚ç‚È‚¢‚È‚ŸB

250:ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
07/11/11 19:38:02
‚±‚ê‚ÍC/C++‚È‚ÌH
myArray/myVector‚ªƒeƒ“ƒvƒŒ[ƒg‚Ȃ̂©‚à‰ö‚µ‚¢‚¯‚Ç
STL‘O’ñ‚Ȃ炱‚¤‘‚­‚ñ‚¶‚á‚È‚¢‚©

// intŒ^‚̃xƒNƒ^‚ð’è‹`
typedef std::vector<int> myIntArray;

myIntArray myIntFunction(myIntArray array)
{
@ myArray::iterator i = array.begin();
@ myArray::iterator e = array.end();
@ while(i != e) {
@ @ // array‚ɑ΂·‚鈗(—v‘f‚É1‚ð‘«‚·)
@ @ *i += 1;
@ @ i++;
@ }
@ return array; // ˆ—Œ‹‰Ê‚ð•Ô‚·
}



251:ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
07/11/11 19:42:54
‚í‚è‚¡
@ myIntArray::iterator i = array.begin();
@ myIntArray::iterator e = array.end();
‚¾‚í

252:ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
07/11/11 20:08:26
for_eachŽg‚Á‚½‚Ù‚¤‚ª‚æ‚­‚ËH

253:ƒGƒXƒp[
07/11/11 20:12:05
>>247
‚»‚ÌArray‚âVector‚̓Rƒs[‚Å‚«‚È‚¢
‚¾‚©‚çŠÖ”‚É‚»‚̂܂ܓn‚·‚±‚Æ‚à•Ô‚·‚±‚Æ‚à‚Å‚«‚È‚¢

254:ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
07/11/11 20:41:47
‚Ƃ肠‚¦‚¸‰½‚¾B
Int ‚Á‚ĉ½‚¾BArray ‚Á‚ĉ½‚¾BString ‚Á‚ĉ½‚¾BC/C++ ‚É‚»‚ñ‚È‚à‚̂͂Ȃ¢B

‚µ‚©‚àA‚¹‚Á‚©‚­
„Array func(Array a)
‚Á‚ăAƒhƒoƒCƒX‚à‚ç‚Á‚Ä‚é‚Ì‚ÉA
„Int myFunction(myArray[])
‚Á‚ÄŽv‚¢‚Á‚«‚è–³Ž‹‚µ‚Ă邵B

255:ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
07/11/11 21:58:30
‚·‚݂܂¹‚ñƒXƒŒƒ`‚©‚à’m‚ê‚Ü‚¹‚ñ‚ªŽ¿–â‚Å‚·B

Windows Vista‚ÆVisual C++ 2005 Exp‚ÅOpenGL‚ðŽg‚¢ŠÈ’P‚ȃQ[ƒ€ƒAƒvƒŠ‚ð»ì‚µ‚Ü‚µ‚½B
—FlA‚ÌVista‹@‚ł͂Ȃñ‚ç–â‘è‚È‚­“®ì‚µ‚½‚̂ł·‚ªA—FlB‚ÌXP‚ł͓®ì‚µ‚Ü‚¹‚ñ‚Å‚µ‚½B
—FlAAB‚Æ‚à‚ÉOpenGL‚ÌDLL‚Í“ü‚Á‚Ä‚¢‚Ü‚·B

‚ǂȂ½‚©‰ðŒˆ‚̃qƒ“ƒg‚Å‚à‚¢‚¢‚̂ł²‘¶‚¶‚Å‚ ‚ê‚΂æ‚낵‚­‚¨‚Ë‚ª‚¢‚µ‚Ü‚·B

256:ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
07/11/11 22:02:47
msvcr80.dll‚ª‚È‚ñ‚½‚ç‚Á‚Ä‚¢‚¤ƒGƒ‰[ƒƒbƒZ[ƒW‚¾‚Á‚½‚çA
VC++ 2005‚̃‰ƒ“ƒ^ƒCƒ€‚ð“ü‚ê‚ëB

257:ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
07/11/11 22:02:51
Visual C++‚̃‰ƒ“ƒ^ƒCƒ€‚Í“ü‚Á‚Ă邩‚ËH

258:ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
07/11/11 22:08:27
•·‚¢‚Ă݂½‚Æ‚±‚ëAƒ‰ƒ“ƒ^ƒCƒ€‚Í“ü‚Á‚Ă邯‚Ì‚±‚Ƃłµ‚½BƒGƒ‰[ƒƒbƒZ[ƒW‚Í
w‚±‚̃AƒvƒŠƒP[ƒVƒ‡ƒ“‚Ì\¬‚ª³‚µ‚­‚È‚¢‚½‚ßAƒAƒvƒŠƒP[ƒVƒ‡ƒ“‚ðŠJŽn‚Å‚«‚Ü‚¹‚ñ‚Å‚µ‚½B
ƒAƒvƒŠƒP[ƒVƒ‡ƒ“‚ðÄ“xƒCƒ“ƒXƒg[ƒ‹‚·‚邱‚Ƃɂæ‚è–â‘肪‰ðŒˆ‚·‚éꇂª‚ ‚è‚Ü‚·B x
‚炵‚¢‚Å‚·BVistaŠÂ‹«‚łͳí‚É“®ì‚·‚é‚̂ł·‚ªcc

259:ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
07/11/11 22:22:56
‚¶‚á‚ .NET Framework‚©‚È

260:ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
07/11/11 22:45:16
‚±‚ê‚©‚çVC++‚ðŠw‚ÔꇂłàMFC‚Í—LŒø‚Å‚·‚©H
‚»‚ê‚Æ‚àMFC‚Í¡ŒãŽg—p‚³‚ê‚È‚­‚È‚Á‚Ä‚¢‚­‚±‚Æ‚ª”ZŒú‚Å
.NET‚ÆCLRHi‚±‚̈Ⴂ‚͂킩‚è‚Ü‚¹‚ñ‚ªj‚ð•׋­
‚µ‚½‚Ù‚¤‚ª—Ç‚¢‚Å‚µ‚傤‚©H

261:ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
07/11/11 22:46:08
>>258
ƒGƒ‰[ƒƒbƒZ[ƒW‚ŃOƒO‚Á‚½‚çA‚±‚ñ‚È‚Ìo‚Ä‚«‚½‚ª‚Ç‚¤‚æH
URLØÝ¸(rararahp.cool.ne.jp)

262:ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
07/11/11 22:57:08
>>260
ŒÂl“I‚Ȉӌ©

.NET‚Å—Ç‚¢‚ÆŽv‚¤B
‚Å‚à‚Ç‚Á‚¿‚Ý‚¿A‚¿‚å‚Á‚Ɠ˂Áž‚ñ‚¾‚±‚Æ‚µ‚悤‚Æ‚·‚邯
Win32API‚ðƒKƒVƒKƒV’@‚­‚±‚ƂɂȂé‚ñ‚ÅA
‚Ü‚¸‚̓EƒBƒ“ƒhƒE‚ÉŽqƒEƒBƒ“ƒhƒE“\‚è•t‚¯‚ÄŠG‚Æ•¶Žš‚ð•\ަ‚·‚é‚®‚ç‚¢‚Í
Win32API‚ðG‚Á‚Æ‚­‚Ì‚ª—Ç‚¢‚ÆŽv‚¤B
1TŠÔ‚àŠ|‚©‚ç‚ñ‚ÆŽv‚¤‚µB

263:ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
07/11/11 23:05:56
>>262
‰½‚©ˆêû.NET‚Ì–{“Ç‚ñ‚ł݂܂·B

‚¿‚Ȃ݂ÉCLR‚Í.NET‚Ƃ͊֌W–³‚¢‚à‚̂ł·‚©H
.NET‚ÍVB‚âVC#‚Å‚à‹¤’ʂɎg‚¦‚é‚à‚Ì‚ÅCLR‚ÍVC++
ŒÅ—L‚Ì‚à‚̂ł·‚©H

264:ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
07/11/11 23:07:11
C++‚ł̃Q[ƒ€‚Ì‘g‚Ý•û‚ɂ‚¢‚ÄŽ¿–â‚æ‚¢‚Å‚µ‚傤‚©

Œ»ÝƒVƒ…[ƒeƒBƒ“ƒOƒQ[ƒ€‚ðì‚Á‚Ä‚é‚̂ł·‚ªAˆÈ‰º‚̂悤‚ȃ^ƒXƒNƒVƒXƒeƒ€‚Ås‚È‚Á‚Ä‚¢‚Ü‚·

class ITask
{
virtual void task()=0;
virtual void draw()=0;
};

class CEnemyZakoA : public ITask
class CEnemyZakoB : public ITask
class CEnemyFactory : public ITask
class CBg : public ITask
class CItem : public ITask

‚±‚ñ‚ÈŠ´‚¶‚ÅA‘S‚ẴIƒuƒWƒFƒNƒg‚ÍITask‚ðŒp³‚µAˆê‚‚ÌITaskƒŠƒXƒg‚É“o˜^‚µ‚Ä‚¢‚Ü‚·B
‚»‚±‚Å‹^–â‚Ȃ̂ł·‚ªATask“¯Žm‚ª˜AŒg‚·‚é‚ɂ͂ǂ¤‚·‚ê‚΂悢‚Å‚µ‚傤‚©H

—Ⴆ‚ÎuCBg‚ÌŽ‚Âw‚ǂ̂­‚ç‚¢ƒXƒNƒ[ƒ‹‚µ‚½‚©x‚Ìî•ñ‚É‚æ‚Á‚ÄACEnemyFactory‚Ͷ‚Ýo‚·Zako‚ÌŽí—Þ‚ð•Ï‚¦‚év
‚Æ‚¢‚Á‚½ê‡‚Å‚·B
ˆê‰ž‘fll‚¦‚È‚ª‚炱‚¤‚¢‚¤Žè‚ðl‚¦‚Ü‚µ‚½‚ªAˆê”Ê“I‚ɂ͂ǂ¤‚·‚é‚ׂ«‚Ȃ̂łµ‚傤‚©H

‚PEFacotry‚̂悤‚Ȃق©‚ÌTask‚Ìî•ñ‚Ɉˑ¶‚·‚é‚à‚Ì‚ÍAƒŠƒXƒg‚É“o˜^‚¹‚¸“Á•ʈµ‚¢‚·‚éiCEnemyFactry‚Æ‚µ‚ĕێ‚µ‚Ä‚¨‚­j‚ׂ«
‚QE‘¼‚ÌTask‚Ɉˑ¶‚·‚éTask‚ÍA‚»‚̶¬Žž‚É‚»‚ÌTask‚ւ̃|ƒCƒ“ƒ^‚ð‚à‚ç‚Á‚Ä‚¨‚­‚ׂ«
‚RE‘¼‚ÌTask‚ɉe‹¿‚ð—^‚¦‚éî•ñ‚ð‚܂Ƃ߂½\‘¢‘Ì‚ðŽ‚¿A‚»‚ê‚ւ̃|ƒCƒ“ƒ^‚ðtask()‚̈ø”‚Å“n‚µ‚Ä‚ ‚°‚é‚ׂ«

1‚Í‚¢‚Ü‚¢‚¿‚¾‚ÆŽv‚¢‚Ü‚·B“Á•Ê‚ª‘‚¦‚邽‚тɊǗ‚ª‘‚¦‚Ü‚·‚µA‰½‚Ì‚½‚ß‚ÌITaskƒŠƒXƒg‚Ȃ̂©‚í‚©‚è‚Ü‚¹‚ñ
2‚͂Ȃ©‚È‚©‚¢‚¢Žè‚Å‚·‚ªACBg‚ªíœ‚³‚ê‚½Žž‚Ȃǂɢ‚è‚Ü‚·ishare_ptr‚ðŽg‚¤‚ׂ«Hj
3‚Í\‘¢‘Ì‚ÉV‚µ‚¢î•ñ‚ª‰Á‚í‚邽‚Ñ‚ÉA‘S‚Ä‚ÌCXXX.cpp‚ªÄƒRƒ“ƒpƒCƒ‹‚ɂȂé‚Ì‚ª•s–ž‚Å‚·


265:ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
07/11/11 23:15:15
>>264
‚±‚¿‚ç‚Ö«‚Ç‚¤‚¼B

ƒ^ƒXƒNƒVƒXƒeƒ€‘‡ƒXƒŒ
½ÚØÝ¸(gamedev”Â)

266:263
07/11/11 23:17:22
‰ðŒˆ‚µ‚Ü‚µ‚½B
“ü–å‘‚É‚à‘‚¢‚Ä‚ ‚è‚Ü‚µ‚½B

267:ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
07/11/11 23:42:05
>>261
‚ ‚肪‚Æ‚¤‚²‚´‚¢‚Ü‚·IãŽè‚­s‚«‚Ü‚µ‚½I
‘¼‚É‚à•Œ¾’¸‚¢‚½•ûX–{“–‚É‚ ‚肪‚Æ‚¤‚²‚´‚¢‚Ü‚µ‚½B

268:ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
07/11/12 15:09:38
‚·‚Ü‚»BJava‚âPHP‚âVB‚â‚Á‚Ä‚½‚ñ‚¾‚¯‚ÇAC++‚â‚邱‚ƂɂȂè‚Ü‚µ‚½B

MFC‚¾‚©CLI‚¾‚©’m‚ç‚ñ‚¯‚ÇA‚»‚ê‚ðã‚È‚¼‚è‚·‚邾‚¯‚ÌŒ¾ŒêŽd—l‚ª‚‚©‚ß‚é
C++‚Ì–{‚È‚¢‚Å‚·‚©Hˆê‚©‚çׂ©‚¢‚±‚Ƃ܂Œ²‚ׂé•K—v‚È‚¢‚Ì‚ÅB

C++‚àˆê‰ž‚͂킩‚Á‚Ä‚¢‚Ü‚·BMFC‚Æ‚©CLI‚ªƒ\[ƒXŒ©‚Ä—‰ð‚Å‚«‚é’ö“x‚Ì
ã•Ó‚Ì’mޝ‚ð—‰ð‚Å‚«‚é‚܂ł̕¶–@—Í‚ª‚‚­–{‚Á‚ĂȂ¢‚Å‚·‚©Hׂ©‚¢Œ¾ŒêŽg—p‚Í
“K‹X•ªŒú‚¢–{‚Å‚µ‚ç‚ׂé‚Ì‚ÅBB‚æ‚낵‚­‚¨Šè‚¢‚µ‚Ü‚·B

269:ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
07/11/12 16:15:11
ƒTƒCƒY•s–¾‚̃tƒ@ƒCƒ‹‚Ì“à—e‚ð‘S•”“ǂݞ‚ÞÛ‚É
“®“I‚ȃƒ‚ƒŠ‚ÌŠ„“–‚ð‚µ‚½‚¢‚Æ‚«A‚ǂ̂悤‚É‚µ‚Ü‚·‚©H

i=0;
while(fgets(...) != NULL ){
++i;
}

‚Æ‚â‚Á‚Ä‚©‚çnew‚Æ‚©malloc‚Æ‚©‚Å”z—ñ‚ðŠm•Û‚·‚é‚Ì‚©‚È‚ 
‚Æ‚©l‚¦‚Ü‚µ‚½‚¯‚ÇA‚Ç‚¤l‚¦‚Ä‚à—]Œv‚ÈŽ–‚ð‚µ‚Ä‚¢‚邿‚¤‚Åc

270:ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
07/11/12 16:29:18
>>269
‚Â[std::vector]
‚Â[realloc()]

271:ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
07/11/12 17:00:39
>>269
filelength‚Æ‚©‰½‚ç‚©‚ÌŽè’i‚ðŽg‚Á‚ÄAƒtƒ@ƒCƒ‹ƒTƒCƒY‚ðæ‚É’²‚ׂÄAˆê‹C‚ÉŠ„‚è“–‚Ä‚éB

•W€“ü—Í‚âƒpƒCƒv‚̂悤‚ɃTƒCƒY‚ª‚í‚©‚ç‚È‚¢ê‡‚ÍA‚ ‚é’ö“x‚̑傫‚³‚̃uƒƒbƒN‚²‚Æ‚É
“ǂݞ‚ÝAƒuƒƒbƒN‚Ìlinked list‚ð쬂·‚éB‘å‚«‚³‚ª‚ ‚Ü‚è‘å‚«‚­‚È‚¢‚±‚Æ‚ª‚í‚©‚Á‚Ä‚¢‚é‚È‚ç
realloc‚à‚ ‚èB

272:ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
07/11/12 17:21:57
>>269
ƒoƒCƒiƒŠƒ‚[ƒh‚Ńtƒ@ƒCƒ‹ƒI[ƒvƒ“‚µ‚ăV[ƒN‘€ì‚Ńtƒ@ƒCƒ‹ƒTƒCƒYŽæ“¾
ifstream
seekg
tellg

273:ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
07/11/12 18:49:16
C++ ‚É this‚Á‚ĂȂ¢‚ÌH
class sample {
int power;
public setPower(int power) {
this.power=power;
}
};
‚Á‚Ä‚µ‚½‚¢‚ñ‚¾‚¯‚ÇA•¶–@“I‚ɊԈႢ‚¾‚æ‚ËH

274:ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
07/11/12 18:52:55
>>273
Java‚Ƃ͈á‚Á‚ÄA
this->power


275:ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
07/11/12 21:17:31
>>273
C++‚Ìthis‚̓|ƒCƒ“ƒ^

276:ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
07/11/13 11:42:55
VC++2005iExpress) ‚ňȉº‚̉•ϒ·Ž©“®”z—ñ‚ðŽg‚¤ƒR[ƒh‚ª’Ê‚Á‚Ä‚­‚ê‚Ü‚¹‚ñ(g++‚ł͑åä•v‚Å‚µ‚½)
‰Â•Ï’·Ž©“®”z—ñ‚ÍC99‚©‚çƒTƒ|[ƒg‚³‚ꂽ‚炵‚¢‚Å‚·‚ªVC++ 2005‚Í–¢‘ΉžH
ŒÅ’è’·/ƒq[ƒv‚É‚·‚ê‚΂»‚ê‚ÅI‚í‚è‚Ȃ̂ł·‚¯‚ÇAÜŠp‚֗̕˜Žd—l‚Ȃ̂Ŏg‚¢‚½‚¢EEE

static cosnt int ARRAY_MAX 256

bool variable_array_test(int variable_len)
{
if (variable_len <= 0 || variable_len > ARRAY_MAX)
return false; // bad length

@char temporary[variable_len]; // << C2054 ‚ŃGƒ‰[

@return true; // ok
}

c:\ cl
Microsoft(R) 32-bit C/C++ Optimizing Compiler Version 14.00.50727.762 for 80x86

CXXFLAGS = -nologo -Zm200 -GS -Od -Zi -Gm -MDd -GR -EHsc -W


277:273
07/11/13 11:52:33
>>274-275@‚ ‚肪‚Æ‚¤I‚Ç‚¤‚¹A‚±‚ñ‚ȂƂڂ¯‚½Ž¿–â‚ɂ͕Ԏ–‚ª‚«‚ĂȂ¢‚¾‚낤
‚Æ‚¨‚à‚Á‚½‚çA—ˆ‚Ä‚½B‚¨‚©‚°‚ł悭‚í‚©‚è‚Ü‚µ‚½BŽg‚¢•û‚Æ—‹ü‚ªB
PHP‚Ì‚àŽQÆ‚¾‚©‚ç–îˆó‹L†‚È‚ñ‚¾B‚È‚é‚Ù‚ÇA‚È‚é‚Ù‚ÇB‚¨—炪’x‚­‚È‚è\‚µ–ó‚È‚¢‚Å‚·B

278:ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
07/11/13 11:53:21
VC‚ÍC99‘Ήž‚µ‚Ä‚¢‚È‚¢B
ˆÈã

279:ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
07/11/13 12:05:27
>>278
i'„tM;jEEE”cˆ¬Cmingw“ü‚ê‚Ä’Ý‚Á‚Ä‚«‚Ü‚·

280:ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
07/11/13 12:06:32
C++‚̃Rƒ“ƒpƒCƒ‰‚Æ‚µ‚ÄŒ©‚ê‚ÎVC8‚ÍŒ‹\—DG‚È‚ñ‚¾‚ª‚Ë‚¥c

281:ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
07/11/13 16:06:15
‚»‚à‚»‚àC99‚ÆC++98‚Á‚Ĉê‚ÉŽg‚¦‚é‚ÌH

282:ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
07/11/13 23:14:06
C++ ‚Ì std::vector Žg‚¦‚΂¢‚¢‚¶‚á‚ñ‚Á‚ÄŽ–‚È‚ñ‚¾‚낤B

283:ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
07/11/13 23:57:52
C99‚Í‚¢‚ç‚È‚¢Žq

284:ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
07/11/14 01:48:09
‰Â•Ï’·ˆø”ƒ}ƒNƒ‚¾‚¯‚̓ˆƒRƒZ

285:ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
07/11/14 01:50:52
‚Ç‚¤‚¹‚È‚ç__FUNC__‚à‚ ‚邯‚¤‚ꂵ‚¢B

286:ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
07/11/14 02:44:38
>>284-285
—¼•û C++0x ‚É“ü‚é‚Ý‚½‚¢B‚½‚¾‚µ __FUNC__ ‚¶‚á‚È‚­‚Ä __func__ ‚ËB

287:ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
07/11/14 07:41:10
‚ÅAC++0x‚Ü‚¾[H

288:ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
07/11/14 10:34:46
C‚Éclass‚ª’ljÁ‚³‚ê‚é‚Ì‚àŽžŠÔ‚Ì–â‘肾‚È

289:ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
07/11/14 11:41:06
‚Ä‚©C‚¢‚ç‚Ë[

290:ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
07/11/14 12:53:51
ƒfƒoƒbƒOƒƒOo—ÍŠÖŒW‚ʼn•ψø”ƒ}ƒNƒŽg‚Á‚Ä‚é‚ñ‚¾‚ªA
‚±‚ê‚àŽ~‚ß‚½•û‚ª‚¢‚¢H

291:ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
07/11/14 12:54:47
‚ AƒˆƒZ‚¶‚á‚È‚­‚ăˆƒRƒZ‚©

292:ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
07/11/14 13:49:55
#include <string>
using namespace std;
class Palindrome{
private:
char *inputValue;
public:
Palindrome();
void setInputValue(char*);
bool isPalindrome();
~Palindrome();
};
Palindrome::Palindrome(){
this->inputValue = new char[100];
}
void Palindrome::setInputValue(char *str){
strcpy(this->inputValue,str);
}
Palindrome::~Palindrome(){
delete [] this->inputValue;
}

293:ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
07/11/14 13:50:32
‚‚«
bool Palindrome::isPalindrome(){
char *aux = new char[100];
int k=0;
for(size_t i=0;i<strlen(this->inputValue);i++){
if((this->inputValue[i] >= 'A' && this->inputValue[i] <= 'Z') || (this->inputValue[i] >= 'a' && this->inputValue[i] <= 'z')){
aux[k] = tolower(this->inputValue[i]);
k++;
}}
aux[k] = '\0';
for(size_t i=0;i<strlen(aux)/2;i++){
if(aux[i] != aux[strlen(aux) - 1 - i]){
delete [] aux;
return false;
}}
delete [] aux;
return true;
}

294:ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
07/11/14 13:52:03
‚‚«
#include "Palindrome.cpp"
#include <iostream>
using namespace std;
int main(){
Palindrome p;
char string[100];
while(true){
cout<<"•¶Žš‚ð“ü—Í‚µ‚Ä‚­‚¾‚³‚¢: ";
cin.getline(string,100);
if(strcmp(string,"") == 0){
break;
}
p.setInputValue(string);
cout<<"‚»‚Ì•¶Žš‚Í "<<(p.isPalindrome() == true ? "‚̓pƒŠƒ“ƒhƒ[ƒ€‚Å‚· " : "ˆá‚¢‚Ü‚· ")<<endl;
}
return 0;
}

295:ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
07/11/14 13:54:09
windoesã‚Å‚±‚̂ӂ½‚‚̃vƒƒOƒ‰ƒ€‚Í“®‚­‚ñ‚Å‚·‚ªAubuntuã‚Å‚Í
ƒRƒ“ƒpƒCƒ‹‚Å‚«‚Ü‚¹‚ñB

‚¾‚ê‚©A’¼‚µ‚Ä‚à‚炦‚Ü‚·‚©H

296:ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
07/11/14 13:57:24
ƒGƒ‰[ƒƒbƒZ[ƒW‚­‚ç‚¢Ú‚¹‚ë

297:ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
07/11/14 14:09:02
ƒRƒ“ƒpƒCƒ‹‚Å‚«‚½‚µAŽÀs‚à‚Å‚«‚Ă邿‚¤‚¾‚ªc
(Ubuntu 7.10 / g++ 4.1)

‚Ü‚³‚©gcc‚ŃRƒ“ƒpƒCƒ‹‚µ‚悤‚Ƃ͂µ‚ĂȂ¢‚¾‚낤‚È

298:ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
07/11/14 14:16:52
‚·‚݂܂¹‚ñgcc‚ŃRƒ“ƒpƒCƒ‹‚µ‚Ü‚µ‚½B
‚Ç‚¤‚â‚Á‚Ä‚±‚ñ‚Ï‚¢‚é‚·‚é‚ñ‚Å‚·‚©H
‹³‚¦‚Ä‚­‚¾‚³‚¢B

299:ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
07/11/14 15:07:13
ã‚É‘‚¢‚Ä‚ ‚邿‚¤‚É g++ ‚Å‚àƒ_ƒ‚È‚ÌH

300:ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
07/11/14 15:07:54
>>298@‚»‚ñ‚È‚±‚Æ‚æ‚èA‚³‚Á‚³‚ƃGƒ‰[ƒƒbƒZ[ƒW“\‚ê‚æB

301:ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
07/11/14 15:18:14
>>299
g++ ‚ŃRƒ“ƒpƒCƒ‹‚Å‚«‚Ü‚µ‚½B
‚Ç‚¤‚à‚·‚݂܂¹‚ñ‚Å‚µ‚½B
‚‡{{‚Æ‚¢‚¤‚Ì‚ð’m‚è‚Ü‚¹‚ñ‚Å‚µ‚½B

302:ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
07/11/14 16:12:07
>>297
Ž¿–â‚Å‚·B
ƒRƒ“ƒpƒCƒ‹‚Ío—ˆ‚½‚ñ‚Å‚·‚ªAŽÀs‚ªo—ˆ‚Ü‚¹‚ñB
g++ aMain.cpp -o aMain
‚ł͉½‚à‹N‚±‚ç‚È‚¢‚ñ‚Å‚·‚ª‚Ç‚¤‚â‚Á‚ÄŽÀs‚µ‚½‚ñ‚Å‚·‚©H

303:ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
07/11/14 16:14:59
gcc‚̓Rƒ“ƒpƒCƒ‰ƒRƒŒƒNƒVƒ‡ƒ“‚¾‚©‚çC++“Á‰»‚̃‰ƒCƒuƒ‰ƒŠ‚ð’T‚µ‚Ä‚­‚ê‚È‚¢B
g++‚ÍC++ƒRƒ“ƒpƒCƒ‰‚¾‚©‚çC++“Á‰»‚̃‰ƒCƒuƒ‰ƒŠ‚à’T‚µ‚Ä‚­‚ê‚éB

304:ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
07/11/14 16:16:51
–¾Ž¦‚µ‚È‚©‚Á‚½ê‡AŽÀsƒ‚ƒWƒ…[ƒ‹‚̓JƒŒƒ“ƒgƒfƒBƒŒƒNƒgƒŠ‚Éa.out‚Æ‚¢‚¤–¼‚łł«‚éB
ŽÀs‚·‚é‚É‚ÍA./a.out‚Å‚¢‚¢B

‚Â[‚©A‚»‚Ì’ö“x‚ÌŠî‘b’mޝ‚à‚È‚µ‚ɃRƒ“ƒpƒCƒ‹‚È‚ñ‚Ä‚·‚é‚È‚æw

305:ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
07/11/14 16:18:11
>>302
‰½‚µ‚½‚¢‚ÌH‚»‚ê‚Å aMain ‚Æ‚¢‚¤ƒtƒ@ƒCƒ‹‚ª‚Å‚«‚Ä‚é‚ÌH
‚Å‚«‚Ä‚¢‚¦‚ê‚ÎA ./aMain ‚Æ‚·‚ê‚Α–‚é‚Í‚¸‚¾‚¯‚ÇB

306:ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
07/11/14 16:26:34
‚±‚ê‚̓Xƒ‹[‚µ‚½‚Ù‚¤‚ª‚¢‚¢‚È

307:ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
07/11/14 16:40:07
a.out‚ª‚Å‚«‚Ü‚¹‚ñBaMain.o‚¾‚¯‚Å‚«‚Ü‚·B
./aMain‚¾‚Æpermission denied ‚ƂȂÁ‚Ä‚µ‚Ü‚¢‚Ü‚·B

308:ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
07/11/14 16:45:08
–â‘è‰ðŒˆ‚µ‚Ü‚µ‚½B./aMain‚ł͎Às‚Å‚«‚È‚­‚Ä‚à
g++ aMain.cpp -o aMain && ./aMain
‚ÅŽÀs‚Å‚«‚Ü‚µ‚½B
‚¨‘›‚ª‚¹‚µ‚Ä‚·‚݂܂¹‚ñ‚Å‚µ‚½B

309:ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
07/11/14 17:40:55
‚È‚ñ‚¶‚á‚»‚è‚áB
‚½‚¾‚̃^ƒCƒvƒ~ƒX‚È‹C‚ª‚·‚é

310:ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
07/11/14 18:06:04
>>308
‚»‚ñ‚Ȃɂ ‚¹‚炸‚ÉAUnix Œn‚Ì CUI Žg‚¢‚©‚½‚Ì–{”–‚¢‚Ì‚Å
—Ç‚¢‚©‚çˆêû“Ç‚Þ‚Æ‘å•ªŽžŠÔ‚Ìß–ñ‚É‚È‚é‚ÆŽv‚¤‚æ‚§B

311:ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
07/11/14 20:33:43
Šî–{“I‚ȃ|ƒCƒ“ƒ^‚ÌŽ¿–â‚Å\‚µ–ó‚È‚¢‚ñ‚Å‚·‚ªB
malloc‚ȂǂŊm•Û‚³‚ê‚ĂȂ¢—̈æ‚ð’m‚é•û–@‚Í‚ ‚è‚Ü‚¹‚ñ‚©H

char *str;
str=(char *)malloc(sizeof(char)*2);

for(int i=0; i<5; i++){
if( (str+i) == NULL)
//–¢Šm•Û
}
‚Ý‚½‚¢‚ÈŒ`‚ł킩‚ê‚΂¢‚¢‚ñ‚Å‚·‚ªA•K‚¸‚µ‚àNULL‚ª“ü‚Á‚Ă邯‚ÍŒÀ‚ç‚È‚¢‚Ì‚ÅcB

‚æ‚낵‚­‚¨Šè‚¢‚µ‚Ü‚·B

312:ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
07/11/14 20:40:37
Šm•Û‚µ‚½ƒTƒCƒY‚ðŠo‚¦‚Ä‚¨‚­B

313:311
07/11/14 20:41:58
>>312
‚È‚é‚Ù‚ÇEEEB
‚â‚Á‚Ï‚èA‚»‚¤‚¢‚¤•û–@‚µ‚©‚È‚¢‚ñ‚Å‚·‚©EEE
‚¹‚ß‚Ätry catch‚ª‚ ‚ê‚ÎA‹­ˆø‚Éo—ˆ‚»‚¤‚È‚ñ‚Å‚·‚¯‚Ç‚ËB

‚Ç‚¤‚à‚ ‚肪‚Æ‚¤‚²‚´‚¢‚Ü‚µ‚½B


314:ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
07/11/14 20:46:31
‚Ä‚¢‚¤‚©‚»‚̃\[ƒX“Ë‚Áž‚݂ǂ±‚ë–žÚ‚¾‚©‚ç•׋­Šæ’£‚낤‚ÈB

315:ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
07/11/14 20:47:44
Ž©•ª‚ªŠm•Û‚µ‚½ƒƒ‚ƒŠ‚̃AƒhƒŒƒX‚ƃTƒCƒY‚ðŽ‚Â\‘¢‘̂łà’è‹`‚·‚ê‚ÎH

316:311
07/11/14 21:14:02
>>314
‹ï‘Ì“I‚ɂǂ̂ ‚½‚è‚Å‚µ‚傤‚©H
‚æ‚낵‚­‚¨Šè‚¢‚µ‚Ü‚·B

>>315
‚È‚é‚Ù‚ÇB
‚»‚Ì•û–@‚àŒŸ“¢‚µ‚Ă݂܂·B

317:ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
07/11/14 21:18:32
DLL‚ÅŠm•Û‚³‚ꂽƒƒ‚ƒŠ‚Í‚»‚ÌDLL‚ʼnð•ú‚µ‚È‚¢‚Æ‚¢‚¯‚È‚¢‚Æ•·‚«‚Ü‚µ‚½B

‚»‚±‚Å‚¨•·‚«‚µ‚½‚¢‚̂ł·‚ªA—Ⴆ‚Έȉº‚̂悤‚Èê‡
@EƒAƒvƒŠƒP[ƒVƒ‡ƒ“A‚ªDLL_B‚ÆDLL_C‚ðŽQÆ
@EDLL_BŽ©g‚àDLL_C‚ðŽQÆ
DLL_B‚ªDLL_C‚ÅŠm•Û‚µ‚½ƒƒ‚ƒŠ‚ð
ƒAƒvƒŠƒP[ƒVƒ‡ƒ“A‚©‚烊ƒ“ƒN‚³‚ꂽDLL_C‚ʼnð•ú‚·‚é‚̂͑åä•v‚Ȃ̂łµ‚傤‚©H
‚æ‚낵‚­‚¨Šè‚¢‚µ‚Ü‚·B

318:ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
07/11/14 21:33:27
>>317
OK‚¾‚¯‚ÇALocalAlloc‚É‚·‚ê‚΂»‚ñ‚È‚±‚Æ‹C‚É‚µ‚È‚­‚Ä‚à‚¢‚¢‚ñ‚¶‚á‚ËH

319:ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
07/11/14 21:42:20
‚¢‚âAWin32‚È‚çLocalŒn‚æ‚èHeapŒn‚¾‚ë

320:ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
07/11/14 21:55:12
>>316
>if ( ( str + i ) == NULL )
‚±‚Ìs‚ÅAi‚É2ˆÈã‚Ì’l‚ª“ü‚Á‚½Žž“_‚ŃAƒEƒgB
Šm•Û‚³‚ê‚Ä‚¢‚È‚¢—̈æ‚ðŽQÆ‚·‚邱‚ƂɂȂéB
NULL‚Ƃ̔äŠr‚à–³ˆÓ–¡B
‰Šú‰»‚³‚ê‚Ä‚¢‚È‚¢—̈æ‚̓Sƒ~‚ª“ü‚Á‚Ä‚¢‚é‚Ì‚ÅNULL‚©‚Ç‚¤‚©‚È‚ñ‚Ă킩‚ç‚È‚¢B



321:ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
07/11/14 22:06:29
‚»‚à‚»‚àŽQƂł«‚ĂȂ¢A‚»‚êB

322:ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
07/11/14 22:07:09
>>318
LocalAlloc, HeapAlloc, GlobalAlloc
‚Á‚Ä–¼‘O‚ªˆá‚¤‚¾‚¯‚ł͖³‚¢‚ñ‚Å‚·‚ËB
’m‚è‚Ü‚¹‚ñ‚Å‚µ‚½B

>>319
HeapŒn‚͂悯‚¢‚ȃIƒuƒWƒFƒNƒg‚ª•K—v‚ɂȂé‚̂ł ‚Ü‚èŽg‚¢‚½‚­‚È‚¢‚Å‚·EEE
‚»‚±‚ªŠÌ‚Æ‚¢‚¤‹C‚à‚µ‚Ü‚·‚ª

323:ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
07/11/14 22:09:06
>>320
‚»‚ꂪo—ˆ‚È‚¢‚©‚玿–â‚«‚½‚ñ‚¾‚ë
o—ˆ‚é‚È‚çAŠù‚É‰ðŒˆ‚µ‚Ă邶‚á‚ñ‚—

‚»‚à‚»‚à
„‚±‚Ìs‚ÅAi‚É2ˆÈã‚Ì’l‚ª“ü‚Á‚½Žž“_‚ŃAƒEƒgB
‚±‚ê‚𔻒肵‚½‚¢‚Á‚ÄŒ¾‚¤Ž¿–â‚Ȃ̂ÉA‚»‚̃ŒƒX‚̓iƒ“ƒZƒ“ƒX‰ß‚¬‚é

324:ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
07/11/14 23:06:43
>>320
„‚±‚Ìs‚ÅAi‚É2ˆÈã‚Ì’l‚ª“ü‚Á‚½Žž“_‚ŃAƒEƒgB
’P‚È‚éƒ|ƒCƒ“ƒ^‚É”Žš‚ð‘«‚µ‚½’l‚ðŒ©‚½‚¾‚¯‚ʼn½‚ŃAƒEƒg‚È‚ñ‚¾H
*‚‚¯‚ÄŽQÆ‚µ‚Ä‚é‚È‚ç‚Æ‚à‚©‚­EEE


325:ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
07/11/14 23:14:37
>>322
ƒq[ƒvƒnƒ“ƒhƒ‹‚Íí‚ÉGetProcessHeap()‚Å“¾‚½‚à‚Ì‚ðŽg‚¤‚±‚Ƃɂ·‚ê‚ÎA
Local/Global‚Æ”ä‚×AV‚½‚È–Ê“|‚³‚ª¶‚Ü‚ê‚邱‚Ƃ͂Ȃ¢‚ÆŽv‚¤‚¼B

326:ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
07/11/14 23:39:43
‚»‚à‚»‚àLocal‚ÆGlobal‚Á‚Ä‚©‚È‚è‘O‚ÉMS‚ªŽg‚¤‚Ì‚â‚߂ĂÁ‚Ä‚¢‚Á‚ĂȂ©‚Á‚½H

327:ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
07/11/15 01:27:02
‚à‚¤CoTaskMemAlloc‚Å‚¢‚¢‚æ

328:ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
07/11/15 01:59:11
>>324
”z—ñ—v‘f”‚ð’´‚¦‚½‚Æ‚±‚ë‚ðŽw‚·‚悤‚Ƀ|ƒCƒ“ƒ^‚É‘«‚µŽZ‚·‚邯–¢’è‹`“®ì‚ɂȂéB

C99 6.5.6 p8 ‚æ‚èi C++ ‚Å‚Í 5.7 p5 ‚É“¯‚¶•¶–Ê‚ª‚ ‚éj
> If both the pointer operand and the result point to elements of the same array object, or one past the last element
> of the array object, the evaluation shall not produce an overflow; otherwise, the behavior is undefined.

‚±‚Ìꇂ¾‚Æ—v‘f” 2 ‚Ì char ”z—ñ‚Ƃ݂Ȃ¹‚é‚©‚çA 2 ‚܂ł͑åä•v‚Å 3 ˆÈã‚ŃAƒEƒg‚ËB

329:ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
07/11/15 02:05:54
ƒ|ƒCƒ“ƒ^‚Í*‚‚¯‚ÄŽQÆ‚µ‚È‚¯‚ê‚ÎA’P‚È‚é”Žš‚¾‚æB
‚µ‚©‚àAƒ|ƒCƒ“ƒ^•Ï”‚É‘ã“ü‚µ‚½‚킯‚Å‚à‚È‚­A’P‚É+3‚ð‚â‚Á‚Äif‚Å”äŠr‚µ‚½‚¾‚¯‚Å‚µ‚åH

‚»‚Ì•¶–Ê‚Í
*(str+i)‚̂悤‚ÉŽQÆ‚µ‚½ê‡‚âAstr+=i‚̂悤‚ɉÁŽZ‚ðs‚Á‚½ê‡‚Å‚ ‚Á‚Ä
str+i‚Å‚ÍA‰½‚̈Ӗ¡‚à‚È‚¢‚©‚ÆB

ŽŽ‚µ‚Ă݂ê‚Εª‚©‚邯Žv‚¤‚¯‚Ç
char *str;
‚É
if( (str+5000)!=NULL)
‚Á‚Ä‚â‚낤‚Æ
if( (str+50000000)!=NULL)
‚Á‚Ä‚â‚낤‚ÆAƒGƒ‰[‚Ío‚é‚Í‚¸–³‚¢‚æB

330:ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
07/11/15 02:23:13
>>329
> *(str+i)‚̂悤‚ÉŽQÆ‚µ‚½ê‡‚âAstr+=i‚̂悤‚ɉÁŽZ‚ðs‚Á‚½ê‡‚Å‚ ‚Á‚Ä

‚»‚ñ‚È‚±‚Ƃǂ±‚É‚à‘‚¢‚ĂȂ¢B p + n ‚Æ‚¢‚¤Ž®Ž©‘̂ɂ‚¢‚Äq‚ׂ½•”•ª‚¾‚æB
* ‚ÅŽQÆ‚µ‚½‚è = ‚Å‘ã“ü‚µ‚½‚è‚·‚é‘O‚̘bB

331:ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
07/11/15 02:43:49
‚È‚ñ‚Åuˆê‚ÂŒã‚ëv‚Ý‚½‚¢‚È•\Œ»‚·‚é‚ñ‚¾‚낤
ˆêuAu‚¶‚á‚ ‚Ó‚½‚ÂŒã‚ë‚Ȃ炢‚¢‚Ì‚©‚æv‚Æ‚©Žv‚Á‚Ä‚µ‚Ü‚Á‚½‚æ

332:ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
07/11/15 10:42:18
>>330
Žd—l‚̓ǂݕû‚í‚©‚Á‚ĂȂ¢‚¾‚ëB
ƒvƒƒOƒ‰ƒ€‚̕׋­‚©‚ç‚Í‚¶‚ß‚½‚Ù‚¤‚ª‚¢‚¢‚ËB

333:ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
07/11/15 10:57:22
>>332
‚Ç‚±‚ð‚Ç‚¤“Ç‚ñ‚¾‚ç >329 ‚Ý‚½‚¢‚ȉðŽß‚ɂȂé‚Ì‚©‹³‚¦‚Ä‚­‚¾‚³‚¢B

334:ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
07/11/15 11:24:57
>>328

‰ÁŒ¸‰‰ŽZŽq

ƒ|ƒCƒ“ƒ^ƒIƒyƒ‰ƒ“ƒh‹y‚Ñ‚»‚ÌŒ‹‰Ê‚Ì—¼•û‚ª“¯‚¶”z—ñƒIƒuƒWƒFƒNƒg‚Ì—v‘fA–”‚Í
”z—ñƒIƒuƒWƒFƒNƒg‚ÌÅŒã‚Ì—v‘f‚ðˆê‚‰z‚¦‚½‚Æ‚±‚ë‚ðŽw‚µ‚Ä‚¢‚éê‡A‰‰ŽZ‚É
‚æ‚Á‚ÄAƒI[ƒo[ƒtƒ[‚ð¶‚¶‚Ă͂Ȃç‚È‚¢B‚»‚êˆÈŠO‚Ìê‡A“®ì‚Í–¢’è‹`
‚Æ‚·‚éB

‚ ‚­‚܂Ŗ¢’è‹`‚Æ‚¢‚Á‚Ä‚¢‚é‚Ì‚¾‚©‚çA‹KŠiã‚͉½‚Å‚à‚ ‚蓾‚éA‚‚܂è
ŽÀ‘•ˆË‘¶‚Æ‚¢‚¤‚±‚ƂɂȂé‚ËB>>329‚ÌŒ¾‚Á‚Ä‚¢‚éAƒGƒ‰[‚ªo‚È‚¢
‚Æ‚©ŽQÆ‚µ‚È‚¯‚ê‚Î’P‚Ȃ锎š‚É‚È‚é‚Æ‚¢‚¤‚±‚Æ‚ÍA‘½‚­‚ÌŽÀ‘•‚ª‚»‚¤
‚È‚Á‚Ä‚¢‚邾‚¯‚Å‚ ‚Á‚ÄAstr+5000‚̉ÁŽZ‰‰ŽZ‚ʼn¼‚ɃNƒ‰ƒbƒVƒ…‚·‚éŽÀ‘•‚ª
‚ ‚Á‚Ä‚àA‚»‚ê‚Í‹KŠi‚É‚Í]‚Á‚Ä‚¢‚邱‚ƂɂȂéBŒ‹‹ÇA‚±‚Ìê‡A
“®ì‚Í–¢’è‹`‚¾‚©‚çŽÀ‘•‚Ü‚©‚¹B

‚Ȃ̂ÅAŒµ–§‚É‚Í>>328‚̈ӌ©‚ª³‚µ‚¢‚ÆŽv‚í‚ê‚éB

335:ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
07/11/15 13:04:40
ŽÀÛAƒ^ƒCƒg‚ȃƒ‚ƒŠ‹óŠÔƒ‚ƒfƒ‹‚ðŽ‚Á‚Ä‚¢‚éŽÀ‘•‚Å‚ÍAŠ„‚Æ—eˆÕ‚É‹N‚±‚蓾‚éB
—Ⴆ‚Îint array[2]‚ɑ΂µ‚Äarray‚ª0xfff0‚ɃAƒTƒCƒ“‚³‚ê‚Ä‚¢‚é‚©‚à‚µ‚ê‚È‚¢B
ƒ|ƒCƒ“ƒ^‚àint‚à16bit‚È‚çAarray + 4‚ª0‚ɂȂÁ‚Ä‚µ‚Ü‚¢ANULL‚Æ‹æ•ʂł«‚È‚­‚È‚Á‚Ä‚µ‚Ü‚¤B
# —¬Î‚É‘¦ƒNƒ‰ƒbƒVƒ…‚Í‚µ‚È‚¢‚¾‚낤‚¯‚Ç‚ËB

336:ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
07/11/15 14:02:36
‹«ŠE‚Ì–â‘è‚̓|ƒCƒ“ƒ^“Á—L‚̘b‚¶‚á‚ ‚è‚Ü‚¹‚ñ‚Ë

337:ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
07/11/15 17:44:01
‚»‚ꂪ‚Ç‚¤‚©‚µ‚Ü‚µ‚½‚©?

338:ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
07/11/15 17:57:27
‚‚܂茩“–ˆá‚¢

339:ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
07/11/15 18:16:43
‚Ç‚±‚ª?
‚»‚à‚»‚à’N‚©A‹«ŠE‚̘b‚È‚ñ‚Ä‚µ‚Ä‚¢‚é‚ñ‚Å‚·‚©?

340:ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
07/11/15 18:31:33
>>336‚ªêˆá‚¢‚ÈŒ‚ɂ‚¢‚Ä

341:wolf Ÿ8VH3XAqjlU
07/11/15 22:09:24
>>311
*** For your reference ***

Windows. _heapwalk (CRT)
URLØÝ¸(msdn2.microsoft.com)(VS.80).aspx

Linux 2.4x
src\drivers\char\drm\sis_ds.c "void mmDumpMemInfo( memHeap_t *mmInit )"


ÅVƒŒƒX•\ަ
ƒXƒŒƒbƒh‚ÌŒŸõ
—ÞŽ—ƒXƒŒˆê——
˜b‘è‚̃jƒ…[ƒX
‚¨‚Ü‚©‚¹ƒŠƒXƒg
¥ƒIƒvƒVƒ‡ƒ“‚ð•\ަ
‰É‚‚Ԃµ2ch

4987“ú‘O‚ÉXV/97 KB
’S“–:undef