y‰SŽÒнŒ}zC/C++Ž ..
204:ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
07/11/09 12:42:39
‚䂯‚苳ˆç‚ª‚Ç‚¤‚±‚¤Œ¾‚í‚ê‚Ă邯‚ÇA194‚Í‚à‚Á‚ƃ\[ƒX‚ɂ䂯‚è‚ðŽ‚½‚¹‚é‚ׂ«
•ϑԂƌ¾‚í‚ê‚Ä‚à‚»‚̂܂܂Á‚Ä‚±‚Æ‚Í^«‚ÌM‚È‚ñ‚¾‚낤‚©
205:ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
07/11/09 12:45:39
>>203
‚µ‚©‚àAŽÀ‘Ԃ̓fƒBƒXƒNƒAƒNƒZƒX‚Å—¥‘¬‚³‚ê‚é‚©‚ç(“¯‚¶ƒfƒBƒXƒNã‚̃tƒ@ƒCƒ‹‚𒲂ׂéŒÀ‚è)–w‚Ç‘¬‚‚È‚é—]’n‚ª‚È‚¢ã©B
206:202
07/11/09 12:47:30
‘‚«–Y‚ê‚Ü‚µ‚½‚ªAo—̓EƒBƒ“ƒhƒE‚É•\ަ‚ªo‚邾‚¯‚ÅA
“®ì‚ɂ͉e‹¿‚Í¡‚̂Ƃ±‚ë‚ ‚è‚Ü‚¹‚ñB
‚ ‚ÆA‚»‚ÌŽs”Ì‚ÌDLL‚É•t‚¢‚Ä‚«‚½MFC‚̃Tƒ“ƒvƒ‹ƒvƒƒWƒFƒNƒg‚ÅŽŽ‚µ‚Ä‚à“¯‚¶ƒGƒ‰[‚ªo—̓EƒBƒ“ƒhƒE‚Éo‚Ü‚·B
207:ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
07/11/09 14:46:34
‚»‚ÌŽs”ÌDLL‚Ì–¼‘O‚à‘‚©‚ñ‚Æ‚¢‚¤‚±‚Ƃ̓GƒXƒp[Šó–]‚©B
208:ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
07/11/09 15:54:58
const.cpp
1 #include <iostream>
2
3 void extfunc(const int &val)
4 { std::cout << val << std::endl; }
5
6 class A
7 {
8 static const int CONSTDATA = 0x100;
9 public:
10 void func()
11 { extfunc(CONSTDATA); }
12 };
13
14 int
15 main()
16 {
17 A a;
18 a.func();
19 return 0;
20 }
$ g++ --version
g++ (GCC) 4.2.3 20071014 (prerelease) (Debian 4.2.2-3)
$ g++ const.cpp
/tmp/ccN8OXMd.o: In function `A::func()':
const.cpp:(.text._ZN1A4funcEv[A::func()]+0x9): undefined reference to `A::CONSTDATA'
‚¤[‚ñEEEƒRƒ“ƒXƒgƒƒ“ƒo•Ï”‚Á‚ÄAŽQƂŎ󂯂鎖‚ªo—ˆ‚È‚¢‚ñ‚Å‚µ‚傤‚©H
extfunc(int(CONSTDATA)); ‚Æ‚·‚ê‚Î’Ê‚è‚Ü‚·‚ª‚È‚ñ‚©EEE
209:ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
07/11/09 15:59:37
ƒ[ƒJ[‚É“d˜bB
210:ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
07/11/09 16:19:18
>>208
’è‹`‚ª–³‚¢‚©‚猫‚¢ƒRƒ“ƒpƒCƒ‰‚È‚ç’蔃f[ƒ^‚̗̈æ‚ÍŠm•Û‚µ‚È‚¢‚炵‚¢‚Ë
i‚Ȃ̂œ–‘RƒVƒ“ƒ{ƒ‹‚à‚È‚¢j
by ƒƒCƒ„[ƒY
’è‹`‚µ‚Ă݂Ȃæ
const int A::CONSTDATA;
211:ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
07/11/09 16:41:20
>>203
187‚ÌꇂŌø‰Ê‚ª‚ ‚é‚©‚Ç‚¤‚©‚͕ʂƂµ‚ÄA‚È‚‚Æ‚àWindows‚Å‚ÍA
ƒ}ƒ‹ƒ`ƒXƒŒƒbƒh‚Å‚à•¡”‚̘_—CPU‚ðŽg‚Á‚Ä‚‚ê‚éB
212:ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
07/11/09 16:46:47
Linux‚ɂƂÁ‚Ä‚ÍAƒXƒŒƒbƒh‚̓vƒƒZƒX‚ÆŠî–{“I‚ɂ͓¯‚¶B
]‚Á‚ÄA“Á’è‚̃XƒŒƒbƒh‚ª‚ǂ̃RƒA‚ÅŽÀs‚³‚ê‚é‚©‚Í
Œ´‘¥“I‚ɃJ[ƒlƒ‹‚ɂ䂾‚Ë‚ç‚ê‚éB
213:ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
07/11/09 17:07:17
>>210
‚È‚ñ‚ÆEEE
6 class A
7 {
8 static const int CONSTDATA;
9 public:
10 void func()
11 { extfunc(CONSTDATA); }
12 };
13
14 const int A:CONSTDATA = 0x100;
‚ÅOK‚Å‚µ‚½C#define‚µ‚¿‚á‚¢‚»‚¤‚¾‚¯‚Ç‚±‚±‚͉ä–EEE
ƒTƒ“ƒNƒX‚Å‚·
214:ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
07/11/09 22:00:56
>>213
‰Šú’l‚ÌŽw’è‚̓Nƒ‰ƒX’è‹`“à‚Å‚¢‚¢‚ñ‚¾‚ºB‚»‚¤‚µ‚È‚¢‚Æ”z—ñ—v‘f”‚Æ‚©‚Ì
’蔎®‚ɂ‚©‚¦‚È‚¢B
>>210
ƒNƒ‰ƒX‚̃ƒ“ƒo•Ï”‚Í’è‹`‚µ‚È‚¢ŒÀ‚èŽÀ‘Ì‚ª‚È‚‚ÄAŽQÆ‚âƒ|ƒCƒ“ƒ^‚ðŽæ‚ë‚¤‚Æ‚·‚邯
ƒGƒ‰[‚ɂȂ邱‚Ƃ͌ˆ‚Ü‚Á‚Ä‚¢‚éB®”Œ^‚ÉŒÀ‚Á‚ĉŠú’l‚ðƒNƒ‰ƒX’è‹`“à‚É‘‚¯‚ÄA
‘‚¯‚Β蔎®‚ÉŽg‚¦‚邯‚¢‚¤“Á•ʃ‹[ƒ‹B
215:ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
07/11/09 22:03:41
>>206
DLL “à‚Å throw ‚³‚ê‚Ä DLL “à‚Å catch ‚³‚ê‚Ä‚é‚ñ‚Å‚µ‚åB‰½‚à–â‘è‚È‚¢B
216:ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
07/11/10 00:33:03
ˆÃ†ƒAƒ‹ƒSƒŠƒYƒ€‚ð•׋‚µ‚Í‚¶‚ß‚½‚Æ‚±‚ë‚Ȃ̂ł·‚ªA
DES ‚â AES ‚È‚ÇAˆê”Ê“I‚ȈÆ•ûŽ®‚̃‰ƒCƒuƒ‰ƒŠ‚Í‚ ‚è‚Ü‚¹‚ñ‚©H
C ‚Å‚à C++ ‚Å‚à‚¢‚¢‚Å‚·B
‚²‘¶’m‚Ì‚©‚½A‚à‚µ‚‚ÍŽ©ìƒ‚ƒm‚ðŽ‚Á‚Ä‚¢‚é‚©‚½Aî•ñ‚ð‚¨Šè‚¢‚µ‚Ü‚·B
;; ‚Å‚«‚ê‚Î SHA-1 ‚â base64 ‚܂őΉž‚µ‚Ä‚¢‚邯Šð‚µ‚¢‚Å‚·‚ªA
;; –³‚‚Ä‚à\‚¢‚Ü‚¹‚ñB
217:ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
07/11/10 00:39:48
•׋‚Ȃ玩•ª‚Åì‚êBƒ‰ƒCƒuƒ‰ƒŠ‚ðŽg‚¦‚邿‚¤‚ɂȂÁ‚Ä‚à•׋‚ɂȂç‚È‚¢‚¼
‚ ‚ÆSHA-1‚âbase64‚͈Æ‚¶‚á‚È‚¢
218:ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
07/11/10 00:58:37
>>216
openssl‚Æ‚©‚©H
‚Ü‚Ÿ‚Å‚à>>217‚É1•[
219:ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
07/11/10 01:07:12
>>214
‚¾‚©‚çEffectiveC++‚ÉÚ‚Á‚Ä‚¢‚邯BB
220:203
07/11/10 01:21:43
>>211-212
î•ñƒTƒ“ƒNƒXB
—Ç‚’m‚ç‚ñ‚±‚Æ‚µ‚á‚ׂÁ‚Ä‚·‚Ü‚ñ‚©‚Á‚½B
221:187@ƒXƒŒƒbƒho—ˆ‚Ü‚µ‚½
07/11/10 03:02:08
#include <iostream>
#include <windows.h>
#include <process.h>
using namespace std;
#define N 100
#define K 320000
unsigned int su[N][256]; char fname[N][256],chk[N];
unsigned WINAPI open(void *p){
unsigned long size,n=(int)p; char *buf=new char [K+100];
HANDLE fp=CreateFile(fname[n],GENERIC_READ,0,NULL,OPEN_ALWAYS,FILE_ATTRIBUTE_NORMAL,NULL);
while(1){ ReadFile(fp,buf,K,&size,NULL); if(size==0){chk[n]=0;return 0;}
for(int i=0;i<size;i++)su[n][ (unsigned char)buf[i] ]++;}}
main(){ WIN32_FIND_DATA fd;
char path[200]="d:\\aaa\\",serchpath[200];
strcpy(serchpath, path); strcat(serchpath, "*");
SetCurrentDirectory(path);
HANDLE hd = FindFirstFile(serchpath, &fd);
int n,i; HANDLE hf[N];
for(n=0;n<N;n++)for(i=0;i<256;i++)su[n][i]=0;for(n=0;n<N;n++)chk[n]=0;
for(;;){ if(chk[n]==0){
for(;;){if(!FindNextFile(hd, &fd))goto end;
if(!(fd.dwFileAttributes & FILE_ATTRIBUTE_DIRECTORY))break;}
strcpy(fname[n],fd.cFileName); chk[n]=1;
hf[n]=(HANDLE)_beginthreadex(NULL, 0, open,(void*)n, 0 ,NULL);}
n++;if(n>=N)n=0;}
end: WaitForMultipleObjects(N, hf, TRUE, INFINITE);
for(n=1;n<N;n++)for(i=0;i<256;i++)su[0][i]+=su[n][i];
for(i=0;i<256;i++)cout<<i<<" no kosu "<<su[0][i]<<endl;}
222:ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
07/11/10 08:40:14
>>221
>for(;;){ if(chk[n]==0){
ʼn‚É‚±‚Ìs‚É“ž’B‚·‚邯‚« n=N ‚¾‚¼B
223:ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
07/11/10 10:27:45
>>219
–{‚ÍŽ‚Á‚ĂȂ¢‚̂Œm‚ç‚È‚¢‚¯‚ÇAƒNƒ‰ƒX’è‹`“à‚Ì static const ‚È®”Œ^‚ɂ‚¢‚Ä
>210 ‚Ý‚½‚¢‚ÉuŒ«‚¢ƒRƒ“ƒpƒCƒ‰‚È‚ç`v‚Á‚Ä‘‚¢‚Ä‚ ‚é‚È‚çA‚¿‚å‚Á‚Æ•s³Šm‚¾‚ÆŽv‚¤B
224:ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
07/11/10 11:24:44
>ƒNƒ‰ƒX‚̃ƒ“ƒo•Ï”‚Í’è‹`‚µ‚È‚¢ŒÀ‚èŽÀ‘Ì‚ª‚È‚‚ÄA
‚±‚ê‚Í•K‚¸‚µ‚ೂµ‚‚È‚¢‚Æ‚¢‚¤‚±‚Æ‚ª‘‚©‚ê‚Ă邿B
‚±‚ê‚ðŽÀŒ»‚·‚éƒRƒ“ƒpƒCƒ‰‚ª‚¢‚í‚ä‚錫‚¢ƒRƒ“ƒpƒCƒ‰B
•W€‚ÅAâ‘΂ɗ̈æŠm•Û‚ª‚³‚ê‚È‚¢‚±‚Æ‚ª•ÛႳ‚ê‚Ä‚¢‚é
‚킯‚ł͂ȂAŽÀ‘•ˆË‘¶‚ƂȂéBstatic const‚ȃf[ƒ^‚ÍA
Šm•Û‚³‚ê‚é‚È‚ç‚ÎA‘å’ïÓI—̈æ‚ɂȂéBƒAƒhƒŒƒX‚ð•K—v‚Æ‚·‚é
ˆ—‚ª‚ ‚éꇂɌÀ‚Á‚Äi‚±‚Ìꇂ͕K‚¸—̈æŠm•Û‚ª•K—vj—̈æ
‚ðŠm•Û‚µ‚Ä‚à‚¢‚¢‚µA–³ðŒ‚ÉŠm•Û‚µ‚Ä‚¨‚¢‚Ä‚à‚¢‚¢B
‚»‚ê‚ÍŽÀ‘•ˆË‘¶‚Æ‚¢‚¤‚±‚ÆB
—̈æŠm•Û‚ðâ‘Î‚É”ð‚¯‚½‚¯‚ê‚Îenum‚ðŽg‚¦‚΂¢‚¢B
225:224
07/11/10 11:27:22
>ƒNƒ‰ƒX‚̃ƒ“ƒo•Ï”‚Í’è‹`‚µ‚È‚¢ŒÀ‚èŽÀ‘Ì‚ª‚È‚‚ÄA
‚Æ‚¢‚¤‚Ì‚ÍA‚à‚¿‚ë‚ñ”ñstatic‚ȃƒ“ƒo[‚ɂ‚¢‚Ăͳ‚µ‚¢B
ã‚Å‘‚¢‚½‚Ì‚Ístatic‚ȃƒ“ƒo[‚ɂ‚¢‚ÄB
226:ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
07/11/10 11:34:49
>>210>>214>>223
BCC‚Å>>208‚ňø‚Á‚©‚©‚Á‚Ä’²‚ׂ½‚Æ‚«‚É
u>>208‚ÍV‚µ‚¢‹KŠi‚Å>>213‚͌¢‹KŠiv
‚Ý‚½‚¢‚È‹Lq‚ðŒ©‚½‚ñ‚¾‚ªB
ƒRƒŒ‚ªƒzƒ“ƒg‚È‚çAuŒ«‚¢v‚Æ‚©‚ ‚ñ‚Ü‚èŠÖŒW‚È‚¢‚ñ‚¶‚á‚ËH
³Šm‚ȂƂ±‚ë’m‚Á‚Ä‚élAƒtƒHƒ[plz
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