y‰SŽÒнŒ}zC/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