y‰SŽÒнŒ}zC/C++Ž ..
167:ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
07/11/08 17:15:41
ƒŠƒAƒ‹‚Å >>161 ‚Í‹ó‹C“ǂ߂Ȃ¢l‚Á‚Ä
Žü‚è‚©‚猾‚í‚ê‚é‚ñ‚¶‚á‚ËH
‹³Žt‚ÍŽdŽ–‚Å‹à‚à‚ç‚Á‚Ä‹³‚¦‚Ä‚é‚킯‚¾‚ªA
‚±‚±‚Í2ch‚¾‚µ‚È[
Ž¿–âŽÒ‚Í‚±‚¤‚ ‚é‚ׂ«I
‰ñ“šŽÒ‚Í‚±‚¤‚ ‚é‚ׂ«I
‚Æ‚©^–Ê–Ú‚ÉŒ¾‚í‚ê‚Ä‚à‚È[
‹½‚É“ü‚ê‚΋½‚É]‚¦‚Á‚Ä‚¢‚¤‚©‚çA
à‹³’·•¶‘‚‚æ‚èA‚Ç‚¤‚·‚ê‚Î
2ch‚ʼnñ“š‚𓾂ç‚ê‚é‰Â”\«‚ª‚‚‚È‚é‚Ì‚©H
‚ðl‚¦‚½‚Ù‚¤‚ªŒ»ŽÀ“IB
‘˦‚Å‚«‚È‚¢‚È‚çAƒlƒbƒg‚ÅŽ¿–â‚È‚ñ‚Ä‚·‚é‚ÈB
‘æŽOŽÒ‚©‚ç‚Ý‚ê‚ÎA‚ ‚ñ‚½‚ªr‚炵‚¾‚©‚çB
168:ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
07/11/08 17:35:28
’Þ‚ç‚ê‚·‚¬B
169:ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
07/11/08 17:58:31
>>162
‚Ü‚Á‚½‚‚Å‚·B¢‚Á‚½‚à‚̂ł·‚ËB
l‚ɉ½‚©‚ð‹³‚¦‚é—§ê‚Æ‚¢‚¤‚Ì‚ÍAŽ©ŒÈŒ°Ž¦—~‚̈Ùí‚É‹‚¢l’B‚ɂƂÁ‚Ä‚Í
–£—Í“I‚È‚à‚̂Ȃ̂łµ‚傤‚ËB‚¾‚©‚ç‚»‚̃XƒLƒ‹‚à–³‚¢‚̂ɋCŽæ‚肽‚ª‚é‚̂łµ‚傤B
>>165
‚ª‚Á‚©‚è‚·‚镪‚É‚ÍD‚«‚È‚¾‚¯‚ª‚Á‚©‚肵‚Ä‚à‚¢‚¢‚Å‚·‚æB
”\‚à‚È‚¢‚̂ɂłµ‚á‚΂Á‚½‚肵‚È‚¢‚±‚ÆA‚±‚ê‚ðŠwK‚·‚邱‚Ƃ̂ق¤‚ª‘娂ł·B
>>167
u‚±‚±‚Í2ch‚¾‚µ—˜_v‚Å•¨‚ðŒ¾‚¤l‚ÍA‘ŠŽè‚ÌŒ¾‚¢•ª‚É‚à‚«‚¿‚ñ‚Æ‚»‚ê‚ð“K—p‚µ‚ÄA
‚±‚±‚Í2ch‚Ȃ̂¾‚©‚çà‹³‚È‚ñ‚©‚µ‚Ä‚à‚µ‚傤‚ª‚È‚¢A‚Æ‚¢‚¤•—‚ÉŽv‚¢ŽŠ‚é‚ׂ«‚Å‚·‚æB
‚ ‚é—‹ü‚ðA‚ ‚鑤‚É‚¾‚¯“K—p‚·‚é‚̂͂¨‚©‚µ‚ÈŒ¾“®‚¾‚ÆŒ¾‚í‚´‚é‚𓾂܂¹‚ñB
‚»‚ê‚©‚çAu2ch‚ʼnñ“š‚𓾂ç‚ê‚é‰Â”\«v‚ÍA‚±‚Ìꇊ֌W‚ ‚è‚Ü‚¹‚ñB
‰ñ“šŽÒ‚ª‰ñ“š‚Å‚«‚郌ƒxƒ‹‚É‚ ‚ê‚ÎA‚»‚ê‚Å‰ðŒˆ‚µ‚Ä‚¢‚½‚±‚ƂȂ̂ÅB
‚ ‚ÆA‘æŽOŽÒ‚Æ‚¢‚¤‚Ì‚ðˆê‚‚̈ӎu‚̂悤‚ÉŒê‚é‚̂͋CŽ‚¿ˆ«‚·‚¬‚Å‚·B
‚ ‚Á‚¿‚Ì‘æŽOŽÒ‚ÆŒü‚±‚¤‚Ì‘æŽOŽÒ‚ÍAˆÙ‚È‚éˆÓޝ‚ðŽ‚Á‚Ä‚¢‚é‚̂ł·B
‰Ë‹ó‚݂̂ñ‚È‚ªŽ©•ª‚ðŽxŽ‚·‚é–²‚©‚ço‚ÄAŽ©•ª‚Ì–¼‹`‚Å•¨‚ðŒ¾‚¢‚Ü‚µ‚傤B
170:167
07/11/08 18:14:58
‚¤‚í[‚·‚²‚¢‚È
‚¾‚©‚ç‹ó‹C“ǂ߂Ƃ¢‚Á‚Ƃ낤‚ª
Ž¿–₵‚Ă݂½
«
ƒoƒJ‚É‚³‚ꂽ
«
ƒ}ƒW”½˜_ ©‚¢‚Ü‚±‚±
‚܂Ƃà‚ȉñ“š‚à‚‚¢‚Ä‚é‚ñ‚¾‚©‚炳
‚»‚ê‚Å‚¢‚¢‚¶‚á‚ñH
‚±‚êˆÈ㉽‚ð–]‚ñ‚Å‚é‚ÌH
171:167
07/11/08 18:16:16
’Þ‚è‚È‚çŒ©Ž–‚É’Þ‚ç‚ꂽ‚킯‚¾‚ª‚È„‰´
172:ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
07/11/08 18:37:21
’Þ‚è‚Å‚µ‚åB‚È‚‚Æ‚à>154‚͘R‚ꂾ‚µB
173:ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
07/11/08 19:19:35
>>170
ƒ_ƒ‰ñ“šŽÒ’B‚ªˆÛŽ‚µ‚½‚ª‚Á‚Ä‚¢‚éƒ_ƒ‚È‹ó‹C‚ÍA“Ç‚ñ‚¾ã‚Ŕے肵‚Ä‚¢‚Ü‚·B
‚»‚ñ‚ÈŽí—Þ‚Ì‹ó‹C‚ÉŽx”z“I‚ɂȂç‚ê‚Ă͢‚é‚Ì‚ÅB
174:173
07/11/08 19:32:48
‚²‚ß‚ñ’Þ‚è‚Å‚µ‚½B
175:ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
07/11/08 19:34:54
ƒ_ƒ‰ñ“šŽÒ‚ðƒoƒbƒ^ƒoƒbƒ^‚ÆŽæ‚è’÷‚Ü‚Á‚Ä‚‚ê‚é
‹~¢Žå‚ª“oê
176:ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
07/11/08 19:45:20
>>138@=@>>140
‚ªƒƒ“ƒc‚ð‚‚Ԃ³‚ꂽ‹“‹å–\‚ê‚Ä‚¢‚é–Í—lB
177:140
07/11/08 20:33:36
‚¿‚オ‚¤‚æ
178:ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
07/11/08 23:26:50
ƒXƒŒƒbƒh‚ÅAvoid* ‚Å“n‚µ‚½ˆø”‚ðclass‚ɕϊ·‚µ‚½‚¢‚̂ł·‚ªƒLƒƒƒXƒgo—ˆ‚È‚¢‚ÆŒ¾‚í‚ê‚Ü‚·
2‚ˆÈã‚̈ø”‚ðƒXƒŒƒbƒh‚É“n‚·‚ɂ͂ǂ¤‚·‚ê‚΂¢‚¢‚Å‚·‚©?
179:ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
07/11/08 23:44:35
class‚¶‚á‚È‚‚ÄAclass‚ւ̃|ƒCƒ“ƒ^‚ɃLƒƒƒXƒg‚µ‚Ă݂ê‚΂Ç[‚©H
void func(void *arg)
{
((hogeclass *)arg)->func();
}
180:ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
07/11/08 23:49:05
ƒTƒ“ƒNƒX‚â‚Á‚Ă݂܂·
181:ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
07/11/08 23:50:40
‚Á‚ÄA‚Ü‚³‚©–{“–‚É
HogeClass hoge = (HogeClass) threadArg;
@‚È‚ñ‚Ä‹Lq‚ð‚µ‚Ä‚é‚ñ‚¶‚ácB
182:ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
07/11/08 23:59:34
ƒLƒƒƒXƒg‚µ‚½voidŒ^ƒ|ƒCƒ“ƒ^‚Ìargˆø”‚̃|ƒCƒ“ƒ^‚ÌŒ³‚ÌŒ^
‚ª“K؂ȕ¨‚È‚ç—Ç‚¢‚¯‚ÇA‚à‚µ‚»‚¤‚¶‚á‚È‚¢‚È‚ç•|‚¢‚È
183:ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
07/11/09 00:12:57
‰´‚Í‚»‚̕ӂª‹CŽ‚¿ˆ«‚‚È‚Á‚Äboost::thread‚É“¦‚°‚½B
184:ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
07/11/09 04:19:15
‹ó‹C“ǂ߂˳‚¢l‚Á‚Ä–{“–‚É‹ó‹C“Ç‚ß‚Ä‚é‚ÆŽv‚Á‚Ä‚é‚ñ‚¾EEE
ƒŠƒAƒ‹‚Å‚Ío‰ï‚¦‚È‚¢’¿b‚ðŒ©‚½
185:ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
07/11/09 05:51:13
>>184
‚Æ‚Á‚‚ɃXƒŒ‚Ì—¬‚ê•Ï‚í‚Á‚Ä‚é‚ñ‚¾‚©‚çA‹ó‹C“ǂ߂æB
186:ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
07/11/09 06:34:46
ˆá‚¤‚ñ‚¾EEI>>184‚Ì‹ó‹C‚ð“ǂ߂Ȃ‚µ‚½‚Ì‚ÍEEE–{“–‚ÍEE˜R‚ê‚È‚ñ‚¾EEEI
187:ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
07/11/09 10:24:19
ƒrƒbƒg—ñ‚ÌoŒ»ŒÂ”‚𔂦‚½‚¢‚̂ł·‚ª–ˆ‰ñŒ‹‰Ê‚ªˆá‚¢‚Ü‚·@‰½‚łłµ‚傤‚©?
#include <iostream>
#include <windows.h>
#include <process.h>
using namespace std;
#define N 1000
#define K 320000
unsigned int su[256];
unsigned WINAPI open(void *p){
unsigned long size; char *buf=new char [K+100];
HANDLE fp=CreateFile((char*)p,GENERIC_READ,0,NULL,OPEN_ALWAYS,FILE_ATTRIBUTE_NORMAL,NULL);
ReadFile(fp,buf,K,&size,NULL);
for(int i=0;i<size;i++)su[ (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; HANDLE hf[N];
for(n=0;n<256;n++)su[n]=0;
for(n=0;;n++){
for(;;){if(!FindNextFile(hd, &fd))goto end;
if(!(fd.dwFileAttributes & FILE_ATTRIBUTE_DIRECTORY))break;}
hf[n]=(HANDLE)_beginthreadex(NULL, 0, open,(void*)fd.cFileName, 0 ,NULL);}
WaitForMultipleObjects(N, hf, TRUE, INFINITE);
end:
for(n=0;n<256;n++)cout<<n<<" no kosu "<<su[n]<<endl;}
188:ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
07/11/09 10:27:39
su”z—ñ‚Ƀ}ƒ‹ƒ`ƒXƒŒƒbƒh‚ŃAƒNƒZƒX‚µ‚Ä‚¢‚邯‚±‚낪‘Ê–Ú‚È‚ñ‚Å‚µ‚悤‚©?
189:ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
07/11/09 10:39:10
>>187
E“¯ˆêƒƒ‚ƒŠ‚É•¡”ƒXƒŒƒbƒh‚©‚ç“¯Žž‚ɃAƒNƒZƒX‚µ‚Ä‚¢‚é‚©‚ç
Eserchpath‚È‚ñ‚Ăւñ‚ȕϔ–¼‚¾‚©‚ç
Ethread“à‚Ånew‚µ‚Ä‚¢‚é‚̂ɉð•ú‚µ‚Ä‚¢‚È‚¢‚©‚ç
E‚XKƒoƒCƒg‚µ‚©“ǂݞ‚܂Ȃ¢‚Ì‚É100ƒoƒCƒg‚à—]Œv‚ÉŠm•Û‚µ‚Ä‚¢‚é‚©‚ç
E•Ï”n‚ðˆá‚¤–Ú“I‚ÉŽg‚¢‰ñ‚µ‚Ä‚¢‚é‚©‚ç
EƒR[ƒfƒBƒ“ƒOƒXƒ^ƒCƒ‹‚ª•ϑԂ¾‚©‚ç
Eƒnƒ“ƒhƒ‹•Ï”‚Éfp‚È‚ñ‚Ä–¼‘O‚ðŽg‚Á‚Ä‚¢‚é‚©‚ç
E‚Ç‚Á‚©WinAPI‚ÆŽv‚µ‚«•Ó‚è‚ÌŽg‚¢•û‚ªŠÔˆá‚Á‚Ä‚¢‚é‚©‚ç
E–ˆ‰ñƒfƒBƒŒƒNƒgƒŠ‚Ìó‘Ô‚ªˆá‚¤‚©‚ç
E–ˆ‰ñƒtƒ@ƒCƒ‹‚Ì“à—e‚ªˆá‚¤‚©‚ç
‚ǂꂾ‚ë‚ËB
190:ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
07/11/09 10:47:50
³‰ð‚͂Ȃñ‚È‚ñ‚Å‚·‚©?
191:ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
07/11/09 10:56:48
>>190
1‚‚¸‚–â‘肪‚È‚¢‚©‚Ç‚¤‚©Šm”F‚·‚é‚ñ‚¾
192:ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
07/11/09 10:58:06
‚±‚ê‚Å‚à’l‚ªˆá‚¢‚Ü‚·@‚È‚º‚Å‚µ‚傤‚©
#include <iostream>
#include <windows.h>
#include <process.h>
using namespace std;
#define N 200
#define K 16
unsigned int su[K];
unsigned WINAPI f(void *p){
int n=(int)p;
for(int i=0;i<n*n;i++)su[i%K]++;}
main(){
int n;
for(n=0;n<K;n++)su[n]=0;
HANDLE hf[N];
for(n=0;n<N;n++){
hf[n]=(HANDLE)_beginthreadex(NULL, 0, f,(void*)n, 0 ,NULL);}
end:
WaitForMultipleObjects(N, hf, TRUE, INFINITE);
for(n=0;n<K;n++)cout<<n<<" no kosu "<<su[n]<<endl;}
193:ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
07/11/09 11:01:05
>>192
”nŽ‚¾‚©‚çB
194:ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
07/11/09 11:03:41
192‚æ‚肱‚Á‚¿‚̂ق¤‚ª‚½‚ñ‚¶‚ã‚ñ‚©‚Æ‚¨‚à‚¢‚Ü‚·@‚Ç‚±‚ª‘Ê–Ú‚È‚ñ‚Å‚µ‚傤‚©@
#include <iostream>
#include <windows.h>
#include <process.h>
using namespace std;
#define N 200
#define K 12
unsigned int su[K];
unsigned WINAPI f(void *p){for(int i=0;i<(int)p;i++)su[i%K]++;}
main(){
int n; for(n=0;n<K;n++)su[n]=0;
HANDLE hf[N];
for(n=0;n<N;n++){hf[n]=(HANDLE)_beginthreadex(NULL, 0, f,(void*)n, 0 ,NULL);}
WaitForMultipleObjects(N, hf, TRUE, INFINITE);
for(n=0;n<K;n++)cout<<n<<" no kosu "<<su[n]<<endl;}
195:ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
07/11/09 11:09:00
‘‚«Žè‚ª‘Ê–Ú‚È‚ñ‚¾‚낤B
196:ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
07/11/09 11:12:06
‚±‚¤‚µ‚ñ‚³‚ꂽ’l‚ªA•ʂ̃XƒŒƒbƒh‚ÅXV‚³‚ê‚Ä‚µ‚Ü‚¤‚©‚ç‚Å‚·‚©‚Ë?
ƒƒ‚ƒŠ‚ªFD‚‚ç‚¢“®ì‚ª‚̂낢‚Æ‚·‚邯su[E]‚Ì’l‚ðŒÄ‚Ño‚µ‚Ä
1‚ð‘«‚µ‚Ä‘‚«–ß‚·‚Æ‚«‚ÉA“¯Žž‚ɌĂÑo‚µ‚ÄŒvŽZ‚µ‚Ä‚¢‚½’l‚Å’u‚«Š·‚¦‚ç‚ê‚邯Œ¾‚¤‚±‚Ƃł·
197:189
07/11/09 11:16:26
‚¿‚á‚ñ‚ÆÅ‰‚ÉŽw“E‚µ‚Ä‚¢‚é‚Ì‚Écc(TT
198:ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
07/11/09 11:18:14
¶Ü²¿½
199:ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
07/11/09 11:20:38
‚±‚ê‚Æ“¯‚¶Ž–‚Å‚·‚Ë@‘¬‚‚·‚éˆ×‚ɃXƒŒƒbƒh‚É‚µ‚½‚¢‚̂ɔr‘¼§Œä“ü‚ꂽ‚ç“Ý‚‚È‚è‚Ü‚·‚Ë
ƒNƒŠƒeƒBƒJƒ‹ƒZƒNƒVƒ‡ƒ“
—á
ƒEƒFƒuƒy[ƒW‚Ì—ˆ–KŽÒ”‚ð•\‚·ƒJƒEƒ“ƒ^‚̃vƒƒOƒ‰ƒ€‚ð—á‚ɂƂÁ‚Äà–¾‚·‚éBƒJƒEƒ“ƒ^[‚̃vƒƒOƒ‰ƒ€‚Í‚¨‚¨‚Ü‚©‚ÉŽŸ‚̈—‚©‚ç‚È‚éB
ƒfƒBƒXƒN“™‚Ì‹L‰¯‘•’u‚©‚猻݂̃JƒEƒ“ƒ^‚Ì’l‚ð“Ç‚Ýo‚·
ƒJƒEƒ“ƒ^‚Ì’l‚ð1‘‚â‚·
ƒJƒEƒ“ƒ^‚Ì’l‚ð‹L‰¯‘•’u‚É‘‚«–ß‚·
Wikipedia€–ÚØÝ¸
200:ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
07/11/09 11:24:24
”z—ñ‚Ì—v‘f‚ð LONG volatile ‚É‚µ‚ÄInterlockedIncrementB
201:187
07/11/09 11:33:53
‚¢‚¢‚±‚ÆŽv‚¢‚‚¢‚½@ƒXƒŒƒbƒh‘¤‚Ńrƒbƒg—ñ‚̌”‚𔂦‚ÄA‚»‚̌”‚ð”z—ñ‚ŕԂµ‚ăƒCƒ“‘¤‚Å‘«‚µ‚ ‚킹‚é
‚±‚ê‚Ȃ玞ŠÔ‚Ì‚©‚©‚é•”•ª‚̓XƒŒƒbƒh‚Å‚â‚Á‚Ä‚ ‚é‚©‚ç‚‘¬‚̂͂¸
202:ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
07/11/09 12:39:04
ŠÂ‹«FWindowsXP VS2005 SP1 MFCƒAƒvƒŠƒP[ƒVƒ‡ƒ“ ƒ_ƒCƒAƒƒOƒx[ƒX
‚ ‚éŽs”Ì‚ÌDLLilib‚à•t‚¢‚Ä‚½‚Ì‚Åu’ljÁ‚̈ˑ¶ƒtƒ@ƒCƒ‹‚ÉŽw’èÏ‚Ývj‚ÌŠO•”ŠÖ”‚ðƒR[ƒ‹‚·‚邽‚Ñ‚ÉAˆÈ‰º‚̂悤‚ȃƒbƒZ[ƒW‚ªo—̓EƒBƒ“ƒhƒE‚ɂł܂·B
HOGE.EXE‚Ì0x7c812a5b‚ʼn‰ñ‚Ì—áŠO‚ª”¶‚µ‚Ü‚µ‚½FMicrosoft C++‚Ì—áŠOF std::runtime_error iƒƒ‚ƒŠ‚ÌêŠ 0x0012f16cj
0x7c812a5b‚ŃOƒO‚邯‚¢‚‚‚©ƒqƒbƒg‚µ‚Ü‚µ‚½‚ªAŒ´ˆö“Á’è‚Å‚«‚¸B
Žd•û‚È‚¢‚̂Ŋ֔ƒR[ƒ‹‚ðtry catch‚Å‚‚‚Á‚Ä‚àcatch‚Å‚«‚¸B
_try _except‚Å‚àŽó‚¯‚ꂸB
‚±‚̃Gƒ‰[‚͂ǂ¤‚â‚Á‚½‚ço‚È‚‚È‚é‚Å‚µ‚傤‚©H
203:ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
07/11/09 12:40:31
”ñ“¯Šúˆ—‚¶‚á‚È‚‚Ä‚‘¬‰»‚ª–Ú“I‚Ȃ̂©ƒˆB
‚æ‚’m‚ç‚Ë‚¥‚ñ‚¾‚ªAƒfƒ…ƒAƒ‹ƒRƒA‚Ƃ͌¾‚¦
ƒvƒƒZƒX‚Å‚à‚È‚¢’P‚È‚éƒXƒŒƒbƒh‚ÅOS‚ªƒ}ƒ‹ƒ`‚Ȉ—‚µ‚Ä‚‚ê‚é‚ñ‚©H
ƒVƒ“ƒOƒ‹ƒRƒA‚È“®‚«‚·‚é‚È‚çAƒfƒBƒXƒpƒbƒ`‚·‚邾‚¯‚łނµ‚ë’x‚‚Ȃ肻‚¤‚È‚ñ‚¾‚ªB
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