²é¿´: 1491  |  »Ø¸´: 9
±¾Ìû²úÉú 1 ¸ö ³ÌÐòÇ¿Ìû £¬µã»÷ÕâÀï½øÐв鿴

snowboy9859

½ð³æ (ÕýʽдÊÖ)

[½»Á÷] ¡¾·ÖÏí¡¿¶ÑºÍÕ»µÄÇø±ð ÒÑÓÐ8È˲ÎÓë

Ò»¡¢Ô¤±¸ÖªÊ¶¡ª³ÌÐòµÄÄÚ´æ·ÖÅä
Ò»¸öÓÉc/C++±àÒëµÄ³ÌÐòÕ¼ÓõÄÄÚ´æ·ÖΪÒÔϼ¸¸ö²¿·Ö
1¡¢Õ»Çø£¨stack£©¡ª ÓɱàÒëÆ÷×Ô¶¯·ÖÅäÊÍ·Å £¬´æ·Åº¯ÊýµÄ²ÎÊýÖµ£¬¾Ö²¿±äÁ¿µÄÖµµÈ¡£Æä²Ù×÷·½Ê½ÀàËÆÓÚÊý¾Ý½á¹¹ÖеÄÕ»¡£
2¡¢¶ÑÇø£¨heap£© ¡ª Ò»°ãÓɳÌÐòÔ±·ÖÅäÊÍ·Å£¬ Èô³ÌÐòÔ±²»ÊÍ·Å£¬³ÌÐò½áÊøÊ±¿ÉÄÜÓÉOS»ØÊÕ ¡£×¢ÒâËüÓëÊý¾Ý½á¹¹ÖеĶÑÊÇÁ½»ØÊ£¬·ÖÅ䷽ʽµ¹ÊÇÀàËÆÓÚÁ´±í£¬ºÇºÇ¡£
3¡¢È«¾ÖÇø£¨¾²Ì¬Çø£©£¨static£©¡ª£¬È«¾Ö±äÁ¿ºÍ¾²Ì¬±äÁ¿µÄ´æ´¢ÊÇ·ÅÔÚÒ»¿éµÄ£¬³õʼ»¯µÄÈ«¾Ö±äÁ¿ºÍ¾²Ì¬±äÁ¿ÔÚÒ»¿éÇøÓò£¬ δ³õʼ»¯µÄÈ«¾Ö±äÁ¿ºÍδ³õʼ»¯µÄ¾²Ì¬±äÁ¿ÔÚÏàÁÚµÄÁíÒ»¿éÇøÓò¡£ - ³ÌÐò½áÊøºóÓÐϵͳÊÍ·Å
4¡¢ÎÄ×Ö³£Á¿Çø¡ª³£Á¿×Ö·û´®¾ÍÊÇ·ÅÔÚÕâÀïµÄ¡£ ³ÌÐò½áÊøºóÓÉϵͳÊÍ·Å
5¡¢³ÌÐò´úÂëÇø¡ª´æ·Åº¯ÊýÌåµÄ¶þ½øÖÆ´úÂë¡£
¶þ¡¢Àý×Ó³ÌÐò
ÕâÊÇÒ»¸öǰ±²Ð´µÄ£¬·Ç³£Ïêϸ
//main.cpp
int a = 0; È«¾Ö³õʼ»¯Çø
char *p1; È«¾Öδ³õʼ»¯Çø
main()
{
int b; Õ»
char s[] = "abc"; Õ»
char *p2; Õ»
char *p3 = "123456"; 123456\0ÔÚ³£Á¿Çø£¬p3ÔÚÕ»ÉÏ¡£
static int c =0£» È«¾Ö£¨¾²Ì¬£©³õʼ»¯Çø
p1 = (char *)malloc(10);
p2 = (char *)malloc(20);
·ÖÅäµÃÀ´µÃ10ºÍ20×Ö½ÚµÄÇøÓò¾ÍÔÚ¶ÑÇø¡£
strcpy(p1, "123456"; 123456\0·ÅÔÚ³£Á¿Çø£¬±àÒëÆ÷¿ÉÄܻὫËüÓëp3ËùÖ¸ÏòµÄ"123456"ÓÅ»¯³ÉÒ»¸öµØ·½¡£
}  



¶þ¡¢¶ÑºÍÕ»µÄÀíÂÛ֪ʶ
2.1ÉêÇ뷽ʽ
stack:
ÓÉϵͳ×Ô¶¯·ÖÅä¡£ ÀýÈ磬ÉùÃ÷ÔÚº¯ÊýÖÐÒ»¸ö¾Ö²¿±äÁ¿ int b; ϵͳ×Ô¶¯ÔÚÕ»ÖÐΪb¿ª±Ù¿Õ¼ä
heap:
ÐèÒª³ÌÐòÔ±×Ô¼ºÉêÇ룬²¢Ö¸Ã÷´óС£¬ÔÚcÖÐmallocº¯Êý
Èçp1 = (char *)malloc(10);
ÔÚC++ÖÐÓÃnewÔËËã·û
Èçp2 = (char *)malloc(10);
µ«ÊÇ×¢Òâp1¡¢p2±¾ÉíÊÇÔÚÕ»Öеġ£


2.2
ÉêÇëºóϵͳµÄÏìÓ¦
Õ»£ºÖ»ÒªÕ»µÄÊ£Óà¿Õ¼ä´óÓÚËùÉêÇë¿Õ¼ä£¬ÏµÍ³½«Îª³ÌÐòÌṩÄڴ棬·ñÔò½«±¨Òì³£ÌáʾջÒç³ö¡£
¶Ñ£ºÊ×ÏÈÓ¦¸ÃÖªµÀ²Ù×÷ϵͳÓÐÒ»¸ö¼Ç¼¿ÕÏÐÄÚ´æµØÖ·µÄÁ´±í£¬µ±ÏµÍ³ÊÕµ½³ÌÐòµÄÉêÇëʱ£¬
»á±éÀú¸ÃÁ´±í£¬Ñ°ÕÒµÚÒ»¸ö¿Õ¼ä´óÓÚËùÉêÇë¿Õ¼äµÄ¶Ñ½áµã£¬È»ºó½«¸Ã½áµã´Ó¿ÕÏнáµãÁ´±íÖÐɾ³ý£¬²¢½«¸Ã½áµãµÄ¿Õ¼ä·ÖÅ䏸³ÌÐò£¬ÁíÍ⣬¶ÔÓÚ´ó¶àÊýϵͳ£¬»áÔÚÕâ¿éÄÚ´æ¿Õ¼äÖеÄÊ×µØÖ·´¦¼Ç¼±¾´Î·ÖÅäµÄ´óС£¬ÕâÑù£¬´úÂëÖеÄdeleteÓï¾ä²ÅÄÜÕýÈ·µÄÊͷű¾ÄÚ´æ¿Õ¼ä¡£ÁíÍ⣬ÓÉÓÚÕÒµ½µÄ¶Ñ½áµãµÄ´óС²»Ò»¶¨ÕýºÃµÈÓÚÉêÇëµÄ´óС£¬ÏµÍ³»á×Ô¶¯µÄ½«¶àÓàµÄÄDz¿·ÖÖØÐ·ÅÈë¿ÕÏÐÁ´±íÖС£

2.3ÉêÇë´óСµÄÏÞÖÆ
Õ»£ºÔÚWindowsÏÂ,Õ»ÊÇÏòµÍµØÖ·À©Õ¹µÄÊý¾Ý½á¹¹£¬ÊÇÒ»¿éÁ¬ÐøµÄÄÚ´æµÄÇøÓò¡£Õâ¾ä»°µÄÒâ˼ÊÇÕ»¶¥µÄµØÖ·ºÍÕ»µÄ×î´óÈÝÁ¿ÊÇϵͳԤÏȹ涨ºÃµÄ£¬ÔÚWINDOWSÏ£¬Õ»µÄ´óСÊÇ2M£¨Ò²ÓеÄ˵ÊÇ1M£¬×ÜÖ®ÊÇÒ»¸ö±àÒëʱ¾ÍÈ·¶¨µÄ³£Êý£©£¬Èç¹ûÉêÇëµÄ¿Õ¼ä³¬¹ýÕ»µÄÊ£Óà¿Õ¼äʱ£¬½«Ìáʾoverflow¡£Òò´Ë£¬ÄÜ´ÓÕ»»ñµÃµÄ¿Õ¼ä½ÏС¡£
¶Ñ£º¶ÑÊÇÏò¸ßµØÖ·À©Õ¹µÄÊý¾Ý½á¹¹£¬ÊDz»Á¬ÐøµÄÄÚ´æÇøÓò¡£ÕâÊÇÓÉÓÚϵͳÊÇÓÃÁ´±íÀ´´æ´¢µÄ¿ÕÏÐÄÚ´æµØÖ·µÄ£¬×ÔÈ»ÊDz»Á¬ÐøµÄ£¬¶øÁ´±íµÄ±éÀú·½ÏòÊÇÓɵ͵ØÖ·Ïò¸ßµØÖ·¡£¶ÑµÄ´óСÊÜÏÞÓÚ¼ÆËã»úϵͳÖÐÓÐЧµÄÐéÄâÄÚ´æ¡£Óɴ˿ɼû£¬¶Ñ»ñµÃµÄ¿Õ¼ä±È½ÏÁé»î£¬Ò²±È½Ï´ó¡£


2.4ÉêÇëЧÂʵıȽϣº
Õ»ÓÉϵͳ×Ô¶¯·ÖÅ䣬ËٶȽϿ졣µ«³ÌÐòÔ±ÊÇÎÞ·¨¿ØÖƵġ£
¶ÑÊÇÓÉnew·ÖÅäµÄÄڴ棬һ°ãËٶȱȽÏÂý£¬¶øÇÒÈÝÒײúÉúÄÚ´æË鯬,²»¹ýÓÃÆðÀ´×î·½±ã.
ÁíÍ⣬ÔÚWINDOWSÏ£¬×îºÃµÄ·½Ê½ÊÇÓÃVirtualAlloc·ÖÅäÄڴ棬Ëû²»ÊÇÔÚ¶Ñ£¬Ò²²»ÊÇÔÚÕ»ÊÇÖ±½ÓÔÚ½ø³ÌµÄµØÖ·¿Õ¼äÖб£ÁôÒ»¿ìÄڴ棬ËäÈ»ÓÃÆðÀ´×î²»·½±ã¡£µ«ÊÇËٶȿ죬Ҳ×îÁé»î¡£

2.5¶ÑºÍÕ»ÖеĴ洢ÄÚÈÝ
Õ»£º ÔÚº¯Êýµ÷ÓÃʱ£¬µÚÒ»¸ö½øÕ»µÄÊÇÖ÷º¯ÊýÖкóµÄÏÂÒ»ÌõÖ¸Áº¯Êýµ÷ÓÃÓï¾äµÄÏÂÒ»Ìõ¿ÉÖ´ÐÐÓï¾ä£©µÄµØÖ·£¬È»ºóÊǺ¯ÊýµÄ¸÷¸ö²ÎÊý£¬ÔÚ´ó¶àÊýµÄC±àÒëÆ÷ÖУ¬²ÎÊýÊÇÓÉÓÒÍù×óÈëÕ»µÄ£¬È»ºóÊǺ¯ÊýÖеľֲ¿±äÁ¿¡£×¢Ò⾲̬±äÁ¿ÊDz»ÈëÕ»µÄ¡£
µ±±¾´Îº¯Êýµ÷ÓýáÊøºó£¬¾Ö²¿±äÁ¿ÏȳöÕ»£¬È»ºóÊDzÎÊý£¬×îºóÕ»¶¥Ö¸ÕëÖ¸Ïò×ʼ´æµÄµØÖ·£¬Ò²¾ÍÊÇÖ÷º¯ÊýÖеÄÏÂÒ»ÌõÖ¸Á³ÌÐòÓɸõã¼ÌÐøÔËÐС£
¶Ñ£ºÒ»°ãÊÇÔڶѵÄÍ·²¿ÓÃÒ»¸ö×Ö½Ú´æ·Å¶ÑµÄ´óС¡£¶ÑÖеľßÌåÄÚÈÝÓгÌÐòÔ±°²ÅÅ¡£

2.6´æÈ¡Ð§ÂʵıȽÏ

char s1[] = "aaaaaaaaaaaaaaa";
char *s2 = "bbbbbbbbbbbbbbbbb";
aaaaaaaaaaaÊÇÔÚÔËÐÐʱ¿Ì¸³ÖµµÄ£»
¶øbbbbbbbbbbbÊÇÔÚ±àÒëʱ¾ÍÈ·¶¨µÄ£»
µ«ÊÇ£¬ÔÚÒÔºóµÄ´æÈ¡ÖУ¬ÔÚÕ»ÉϵÄÊý×é±ÈÖ¸ÕëËùÖ¸ÏòµÄ×Ö·û´®(ÀýÈç¶Ñ)¿ì¡£
±ÈÈ磺
#include
void main()
{
char a = 1;
char c[] = "1234567890";
char *p ="1234567890";
a = c[1];
a = p[1];
return;
}
¶ÔÓ¦µÄ»ã±à´úÂë
10: a = c[1];
00401067 8A 4D F1 mov cl,byte ptr [ebp-0Fh]
0040106A 88 4D FC mov byte ptr [ebp-4],cl
11: a = p[1];
0040106D 8B 55 EC mov edx,dword ptr [ebp-14h]
00401070 8A 42 01 mov al,byte ptr [edx+1]
00401073 88 45 FC mov byte ptr [ebp-4],al
µÚÒ»ÖÖÔÚ¶Áȡʱֱ½Ó¾Í°Ñ×Ö·û´®ÖеÄÔªËØ¶Áµ½¼Ä´æÆ÷clÖУ¬¶øµÚ¶þÖÖÔòÒªÏȰÑÖ¸ÕëÖµ¶Áµ½edxÖУ¬ÔÚ¸ù¾Ýedx¶ÁÈ¡×Ö·û£¬ÏÔÈ»ÂýÁË¡£


2.7С½á£º
¶ÑºÍÕ»µÄÇø±ð¿ÉÒÔÓÃÈçϵıÈÓ÷À´¿´³ö£º
ʹÓÃÕ»¾ÍÏóÎÒÃÇÈ¥·¹¹ÝÀï³Ô·¹£¬Ö»¹Üµã²Ë£¨·¢³öÉêÇ룩¡¢¸¶Ç®¡¢ºÍ³Ô£¨Ê¹Óã©£¬³Ô±¥Á˾Í×ߣ¬²»±ØÀí»áÇвˡ¢Ï´²ËµÈ×¼±¸¹¤×÷ºÍÏ´Í롢ˢ¹øµÈɨβ¹¤×÷£¬ËûµÄºÃ´¦ÊÇ¿ì½Ý£¬µ«ÊÇ×ÔÓɶÈС¡£
ʹÓöѾÍÏóÊÇ×Ô¼º¶¯ÊÖ×öϲ»¶³ÔµÄ²ËëÈ£¬±È½ÏÂé·³£¬µ«ÊDZȽϷûºÏ×Ô¼ºµÄ¿Ú棬¶øÇÒ×ÔÓɶȴó¡£
»Ø¸´´ËÂ¥

» ²ÂÄãϲ»¶

åÐÒ£×ÔÔÚµÄÒ¯£¡
ÒÑÔÄ   »Ø¸´´ËÂ¥   ¹Ø×¢TA ¸øTA·¢ÏûÏ¢ ËÍTAºì»¨ TAµÄ»ØÌû

RongShe

¡ï
Сľ³æ(½ð±Ò+0.5):¸ø¸öºì°ü£¬Ð»Ð»»ØÌû½»Á÷
²»´í£¬Ñ§Ï°ÁË
2Â¥2010-05-26 18:01:53
ÒÑÔÄ   »Ø¸´´ËÂ¥   ¹Ø×¢TA ¸øTA·¢ÏûÏ¢ ËÍTAºì»¨ TAµÄ»ØÌû

tjyl

½ð³æ (ÕýʽдÊÖ)

¡ï ¡ï
Сľ³æ(½ð±Ò+0.5):¸ø¸öºì°ü£¬Ð»Ð»»ØÌû½»Á÷
resonant(½ð±Ò+1):»¶Ó­²ÎÓëÌÖÂÛ¡£ 2010-05-28 21:59:40
ÓÃalloca¿ÉÒÔ´ÓÕ»¿Õ¼ä·ÖÅäÄÚ´æ
3Â¥2010-05-28 14:36:16
ÒÑÔÄ   »Ø¸´´ËÂ¥   ¹Ø×¢TA ¸øTA·¢ÏûÏ¢ ËÍTAºì»¨ TAµÄ»ØÌû

wanglifei007

½ð³æ (ÕýʽдÊÖ)

¡ï
Сľ³æ(½ð±Ò+0.5):¸ø¸öºì°ü£¬Ð»Ð»»ØÌû½»Á÷
Õâ¸öºÜºÃÇø·Ö£¬²»¹ýÎÒ»¹Ã»Óûã±àÀ´Ñо¿¹ý£¬Ð»Ð»Â¥Ö÷ÁË¡£
4Â¥2010-05-29 12:07:51
ÒÑÔÄ   »Ø¸´´ËÂ¥   ¹Ø×¢TA ¸øTA·¢ÏûÏ¢ ËÍTAºì»¨ TAµÄ»ØÌû

holmescn

½ð³æ (ÕýʽдÊÖ)

¡ï ¡ï ¡ï
Сľ³æ(½ð±Ò+0.5):¸ø¸öºì°ü£¬Ð»Ð»»ØÌû½»Á÷
resonant(½ð±Ò+2):¸ÐлÌṩ£º-£© 2010-06-01 15:02:34
ÓÐÒ»µãÎÒ¸öÈËÈÏΪ²»Ì«¶Ô¡£ÄǾÍÊÇstack±Èheap¿ì¡£LZµÄ·ÖÎöÊÇҪ˵Ã÷£¬heapÓÐÉêÇëµÄ¹ý³Ì£¬Õâ¸ö¹ý³ÌÕ¼ÁËʱ¼ä¡£ËùÒÔheapÂý¡£µ«ÎÒÈÏΪÕâÊÇstackÔÚ×÷±×¡£ÒòΪstackµÄ¿Õ¼äÊÇÒѾ­×Ô¶¯·ÖÅäºÃÁ˵ģ¬ËùÒÔ£¬Èç¹ûÈ¥³ýÁËÕâ¸ö»·½Ú£¬Á¬¸öµÄËÙ¶ÈÓ¦¸Ã²»ÏàÉÏÏ¡££¨ÎÒûÓÐʵ¼Ê²âÊÔ£©ËùÒÔ£¬Èç¹ûÎÒÃÇÔ¤ÏÈ·ÖÅäÒ»¿éÄڴ棬µ±ÐèÒªÓÃheapµÄʱºò£¬´ÓÕâ¸öÒѾ­·ÖÅäºÃµÄÄÚ´æÀï»®·ÖÒ»¿é³öÀ´£¬ÄÇô£¬½á¹ûÓÖÈçºÎÄØ£¿

ÖÁÓÚ×îºóµÄ»ã±à·ÖÎö£¬ÎÒÏë¿ÉÄÜÊÇÒòΪ´úÂëûÓÐÓÅ»¯µÄ½á¹û¡£Ôì³ÉÖ¸Õë±äÁ¿ÓÐÒ»¸ö¼ÓÔØµÄ¹ý³Ì¡£µ«Õâ²»Ó¦¸ÃÊÇheapÂýµÄÔ­Òò¡£
5Â¥2010-06-01 14:28:16
ÒÑÔÄ   »Ø¸´´ËÂ¥   ¹Ø×¢TA ¸øTA·¢ÏûÏ¢ ËÍTAºì»¨ TAµÄ»ØÌû

magic7004

½ð³æ (Ö°Òµ×÷¼Ò)

¡ï ¡ï
Сľ³æ(½ð±Ò+0.5):¸ø¸öºì°ü£¬Ð»Ð»»ØÌû½»Á÷
resonant(½ð±Ò+1):¸Ðл²ÎÓ룬ÈçÓв»Í×£¬¾´ÇëÖ¸Õý£¬ÎÒÃÇµÄÆÀ¼ÛÒ»¶¨¼°Ê±µ½Î»¡£Ð»Ð»ºÏ×÷£º-) 2010-06-01 15:03:21
Õâ¸öÊÇÂ¥Ö÷×Ô¼ºÐ´µÄ»¹ÊÇÍøÉÏcopyµÄ£¿´íÎóºÜ¶à£¬Í¨Æª¶¼²»ÑϽ÷£¬´ó¼Ò¿´µÄʱºòÒªÉ÷ÖØ¡£
Á÷Ã¥²»¿ÉÅ£¬¿ÉŵÄÊÇÁ÷Ã¥ÓÐÎÄ»¯£¬ÓÐÎÄ»¯ÓÖBHµÄÁ÷Ã¥ÎÞµÐ~~£¡
6Â¥2010-06-01 14:48:40
ÒÑÔÄ   »Ø¸´´ËÂ¥   ¹Ø×¢TA ¸øTA·¢ÏûÏ¢ ËÍTAºì»¨ TAµÄ»ØÌû

magic7004

½ð³æ (Ö°Òµ×÷¼Ò)

¡ï ¡ï ¡ï ¡ï
Сľ³æ(½ð±Ò+0.5):¸ø¸öºì°ü£¬Ð»Ð»»ØÌû½»Á÷
ÓàÔó³É(½ð±Ò+3):ллר¼ÒÏêϸµãÆÀ£¡ 2010-06-02 09:48:54
wangen994(³ÌÐòÇ¿Ìû+1):ÐÁ¿àÁË£¬»¶Ó­¼ÌÐøÖ§³Ö³ÌÐòÓïÑÔ°æ 2010-06-02 12:54:22
ÒýÓûØÌû:
2¡¢¶ÑÇø£¨heap£© ¡ª Ò»°ãÓɳÌÐòÔ±·ÖÅäÊÍ·Å£¬ Èô³ÌÐòÔ±²»ÊÍ·Å£¬³ÌÐò½áÊøÊ±¿ÉÄÜÓÉOS»ØÊÕ ¡£×¢ÒâËüÓëÊý¾Ý½á¹¹ÖеĶÑÊÇÁ½»ØÊ£¬·ÖÅ䷽ʽµ¹ÊÇÀàËÆÓÚÁ´±í£¬ºÇºÇ¡£

´Ó³ÌÐòÔ±µÄ½Ç¶È£¬heapºÍÁ´±íûÓÐÈκιØÏµ£¬³ÌÐòÔ±ÊÇÎÞ·¨Í¨¹ýheapÖÐʹÓõĵÚÒ»¸öÄÚ´æÇøÓò±éÀúÆäËûËùÓÐÇøÓòµÄ¡£Ö»ÄÜ˵ijЩOSʹÓÃÀàËÆÁ´±íµÄÊý¾Ý½á¹¹À´¹ÜÀíÄÚ´æ¡£
ÒýÓûØÌû:
2.1ÉêÇ뷽ʽ
stack:
ÓÉϵͳ×Ô¶¯·ÖÅä¡£ ÀýÈ磬ÉùÃ÷ÔÚº¯ÊýÖÐÒ»¸ö¾Ö²¿±äÁ¿ int b; ϵͳ×Ô¶¯ÔÚÕ»ÖÐΪb¿ª±Ù¿Õ¼ä

Õâ¸ö˵·¨ÊDz»×¼È·µÄ£¬stackµÄ¿Õ¼äÊÇÔÚÏ̴߳´½¨µÄʱºò¾ÍcommitºÃµÄ£¬ÈëÕ»²Ù×÷Ö»ÊÇÕ»¶¥Ö¸ÕëµÄ¸Ä±ä£¬²»´æÔÚ¿ª±Ù¿Õ¼äµÄÎÊÌâ¡£
ÒýÓûØÌû:
heap:
ÐèÒª³ÌÐòÔ±×Ô¼ºÉêÇ룬²¢Ö¸Ã÷´óС£¬ÔÚcÖÐmallocº¯Êý
Èçp1 = (char *)malloc(10);
ÔÚC++ÖÐÓÃnewÔËËã·û

ÆäʵC++ÖÐÒ²ÊÇ¿ÉÒÔÓÃmalloc·ÖÅäÄÚ´æµÄ¡£mallocºÍnewµÄÇø±ðÔÚÓÚnew»á×Ô¶¯µ÷Óù¹Ô캯Êý¶ømalloc²»»á¡£
ÒýÓûØÌû:
2.3ÉêÇë´óСµÄÏÞÖÆ
Õ»£ºÔÚWindowsÏÂ,Õ»ÊÇÏòµÍµØÖ·À©Õ¹µÄÊý¾Ý½á¹¹£¬ÊÇÒ»¿éÁ¬ÐøµÄÄÚ´æµÄÇøÓò¡£Õâ¾ä»°µÄÒâ˼ÊÇÕ»¶¥µÄµØÖ·ºÍÕ»µÄ×î´óÈÝÁ¿ÊÇϵͳԤÏȹ涨ºÃµÄ£¬ÔÚWINDOWSÏ£¬Õ»µÄ´óСÊÇ2M£¨Ò²ÓеÄ˵ÊÇ1M£¬×ÜÖ®ÊÇÒ»¸ö±àÒëʱ¾ÍÈ·¶¨µÄ³£Êý£©£¬Èç¹ûÉêÇëµÄ¿Õ¼ä³¬¹ýÕ»µÄÊ£Óà¿Õ¼äʱ£¬½«Ìáʾoverflow¡£Òò´Ë£¬ÄÜ´ÓÕ»»ñµÃµÄ¿Õ¼ä½ÏС¡£

stackµÄ´óС²»ÊÇOS¹æ¶¨µÄ£¬¶øÊDZàÒëʱÓɱàÒëÆ÷È·¶¨µÄ¡£Â¥Ö÷Ëù˵µÄ2M»òÕß1MÓ¦¸ÃÊÇijÖÖ±àÒëÆ÷µÄĬÈÏstack´óС°É¡£Òªµ÷ÕûstackµÄ´óСֻÐèÒª±àÒëʱָ¶¨Êʵ±µÄ±àÒë²ÎÊý¾Í¿ÉÒÔÁË¡£²»¹ýͨ³£±àÒëÆ÷µÄĬÈÏstack´óСÊÇ×ã¹»µÄ£¬Èç¹û³ÌÐòÖгöÏÖstack overflowÒ»°ã¶¼ÊÇ´úÂë»òËã·¨µÄÎÊÌâ
ÒýÓûØÌû:
¶Ñ£º¶ÑÊÇÏò¸ßµØÖ·À©Õ¹µÄÊý¾Ý½á¹¹£¬ÊDz»Á¬ÐøµÄÄÚ´æÇøÓò¡£ÕâÊÇÓÉÓÚϵͳÊÇÓÃÁ´±íÀ´´æ´¢µÄ¿ÕÏÐÄÚ´æµØÖ·µÄ£¬×ÔÈ»ÊDz»Á¬ÐøµÄ£¬¶øÁ´±íµÄ±éÀú·½ÏòÊÇÓɵ͵ØÖ·Ïò¸ßµØÖ·¡£¶ÑµÄ´óСÊÜÏÞÓÚ¼ÆËã»úϵͳÖÐÓÐЧµÄÐéÄâÄÚ´æ¡£Óɴ˿ɼû£¬¶Ñ»ñµÃµÄ¿Õ¼ä±È½ÏÁé»î£¬Ò²±È½Ï´ó¡£

heapµÄ´óС²¢·ÇÖ»ÊÇÊÜÏÞÓÚÐéÄâÄÚ´æ´óС£¬»¹ÓëOSµÈÓйء£±ÈÈçwindowsÏÂĬÈϵÄÓû§Ì¬ÄÚ´æ¿Õ¼äΪ2GB£¬Ò²¾ÍÒâζמÍËãϵͳÓÐ2GBÒÔÉϵÄÐéÄâÄڴ棬³ÌÐòÔ±Ò²Ö»ÄÜ»ñµÃ<2GBµÄHeap¿Õ¼ä¡£ps:Ã²ËÆÃ»ÓÐÁ´±íÒ»¶¨ÊDz»Á¬ÐøµÄ˵·¨£¬Á´±íµÄÄÚ´æ¿Õ¼äÒ²ÓпÉÄÜÁ¬Ðø£¬Ö»ÊÇÁ´±í²»ÒªÇóÄÚ´æÊÇÁ¬ÐøµÄ£¬ÊÇ·ñÁ¬Ðø¶ÔÁ´±íÀ´ËµÃ»ÓÐÓ°Ïì¡£
ÒýÓûØÌû:
2.5¶ÑºÍÕ»ÖеĴ洢ÄÚÈÝ
Õ»£º ÔÚº¯Êýµ÷ÓÃʱ£¬µÚÒ»¸ö½øÕ»µÄÊÇÖ÷º¯ÊýÖкóµÄÏÂÒ»ÌõÖ¸Áº¯Êýµ÷ÓÃÓï¾äµÄÏÂÒ»Ìõ¿ÉÖ´ÐÐÓï¾ä£©µÄµØÖ·£¬È»ºóÊǺ¯ÊýµÄ¸÷¸ö²ÎÊý£¬ÔÚ´ó¶àÊýµÄC±àÒëÆ÷ÖУ¬²ÎÊýÊÇÓÉÓÒÍù×óÈëÕ»µÄ£¬È»ºóÊǺ¯ÊýÖеľֲ¿±äÁ¿¡£×¢Ò⾲̬±äÁ¿ÊDz»ÈëÕ»µÄ¡£
µ±±¾´Îº¯Êýµ÷ÓýáÊøºó£¬¾Ö²¿±äÁ¿ÏȳöÕ»£¬È»ºóÊDzÎÊý£¬×îºóÕ»¶¥Ö¸ÕëÖ¸Ïò×ʼ´æµÄµØÖ·£¬Ò²¾ÍÊÇÖ÷º¯ÊýÖеÄÏÂÒ»ÌõÖ¸Á³ÌÐòÓɸõã¼ÌÐøÔËÐС£

1.¶ÔÓÚÓüĴæÆ÷´«µÝ·µ»ØÖµµÄϵͳÀ´Ëµ£¬Ö÷µ÷º¯ÊýµÄÏÂÒ»ÌõÖ¸ÁîµØÖ·ÊÇ×îÏȽøÕ»µÄ¡£µ«¶ÔÓÚÓÃstack´«µÝ·µ»ØÖµµÄϵͳÀ´Ëµ£¬·µ»ØÖµÊÇ×îÏȽøÕ»µÄ¡£
2.Õ»¶¥Ö¸ÕëÖ¸ÏòÖ÷µ÷º¯ÊýÖÐÏÂÒ»ÌõÖ¸ÁîµÄµØÖ·²¢²»»áÈóÌÐòÓɸõã¼ÌÐøÔËÐУ¬¶øÊÇÒª½«¸ÃµØÖ·³öÕ»£¬ËÍÈë(E)IP¼Ä´æÆ÷ÖС£
ÒýÓûØÌû:
¶Ñ£ºÒ»°ãÊÇÔڶѵÄÍ·²¿ÓÃÒ»¸ö×Ö½Ú´æ·Å¶ÑµÄ´óС¡£¶ÑÖеľßÌåÄÚÈÝÓгÌÐòÔ±°²ÅÅ¡£

Ò»¸ö×Ö½ÚÏÔÈ»ÊDz»¹»´æ·ÅheapµÄ´óСµÄ¡£
ÒýÓûØÌû:
2.6´æÈ¡Ð§ÂʵıȽÏ

char s1[] = "aaaaaaaaaaaaaaa";
char *s2 = "bbbbbbbbbbbbbbbbb";
aaaaaaaaaaaÊÇÔÚÔËÐÐʱ¿Ì¸³ÖµµÄ£»
¶øbbbbbbbbbbbÊÇÔÚ±àÒëʱ¾ÍÈ·¶¨µÄ£»
µ«ÊÇ£¬ÔÚÒÔºóµÄ´æÈ¡ÖУ¬ÔÚÕ»ÉϵÄÊý×é±ÈÖ¸ÕëËùÖ¸ÏòµÄ×Ö·û´®(ÀýÈç¶Ñ)¿ì¡£
±ÈÈ磺
#include
void main()
{
char a = 1;
char c[] = "1234567890";
char *p ="1234567890";
a = c[1];
a = p[1];
return;
}
¶ÔÓ¦µÄ»ã±à´úÂë
10: a = c[1];
00401067 8A 4D F1 mov cl,byte ptr [ebp-0Fh]
0040106A 88 4D FC mov byte ptr [ebp-4],cl
11: a = p[1];
0040106D 8B 55 EC mov edx,dword ptr [ebp-14h]
00401070 8A 42 01 mov al,byte ptr [edx+1]
00401073 88 45 FC mov byte ptr [ebp-4],al
µÚÒ»ÖÖÔÚ¶Áȡʱֱ½Ó¾Í°Ñ×Ö·û´®ÖеÄÔªËØ¶Áµ½¼Ä´æÆ÷clÖУ¬¶øµÚ¶þÖÖÔòÒªÏȰÑÖ¸ÕëÖµ¶Áµ½edxÖУ¬ÔÚ¸ù¾Ýedx¶ÁÈ¡×Ö·û£¬ÏÔÈ»ÂýÁË¡£

Õâ¶Î´úÂë¶Ô±ÈµÄÏÔÈ»²»ÊÇÄÚ´æIOµÄËÙ¶È£¬¶øÖ»ÊÇѰַµÄЧÂÊÎÊÌâ¡£
Èç¹û°ÑÉÏÃæµÄ´úÂëchar *p ="1234567890";¸ÄΪchar *p=c;ÏÔÈ»pËùÖ¸ÏòµÄÄÚ´æÒ²ÊÇÔÚstackÖеġ£°´ÕÕÂ¥Ö÷µÄ˵·¨£¬Ð޸ĺó¶Ôp[1]µÄ·ÃÎʾͻá±ä¿ì¡£µ«ÏÔÈ»Ð޸ĺó¶Ôp[1]µÄѰַ·½Ê½ºÍÐÞ¸ÄǰÊÇÒ»ÑùµÄ£¬Ò²¾ÍÊÇ˵¶Ôp[1]µÄ·ÃÎÊËÙ¶ÈÊDz»±äµÄ¡£


[ Last edited by magic7004 on 2010-6-2 at 09:11 ]
Á÷Ã¥²»¿ÉÅ£¬¿ÉŵÄÊÇÁ÷Ã¥ÓÐÎÄ»¯£¬ÓÐÎÄ»¯ÓÖBHµÄÁ÷Ã¥ÎÞµÐ~~£¡
7Â¥2010-06-02 09:00:31
ÒÑÔÄ   »Ø¸´´ËÂ¥   ¹Ø×¢TA ¸øTA·¢ÏûÏ¢ ËÍTAºì»¨ TAµÄ»ØÌû

csyky2007

ľ³æ (ÖøÃûдÊÖ)

¡ï
Сľ³æ(½ð±Ò+0.5):¸ø¸öºì°ü£¬Ð»Ð»»ØÌû½»Á÷
¼¼ÊõÌùÒªmark£¬Ñ§Ï°£¡
Çó·ÅÐÄ£¡
8Â¥2010-06-27 13:31:34
ÒÑÔÄ   »Ø¸´´ËÂ¥   ¹Ø×¢TA ¸øTA·¢ÏûÏ¢ ËÍTAºì»¨ TAµÄ»ØÌû

cjs520

гæ (ÕýʽдÊÖ)

¡ï
Сľ³æ(½ð±Ò+0.5):¸ø¸öºì°ü£¬Ð»Ð»»ØÌû½»Á÷
ѧϰÖУ¡£¡£¡£¡£¡
ÔÚÉϺ£´òÆ´¼±ÐèÓÃÇ®µÄÅóÓÑ£¬¿ÉÒÔÁªÏµ13764084745ºú¾­Àí
9Â¥2010-07-24 07:34:26
ÒÑÔÄ   »Ø¸´´ËÂ¥   ¹Ø×¢TA ¸øTA·¢ÏûÏ¢ ËÍTAºì»¨ TAµÄ»ØÌû

xp_jian

гæ (³õÈëÎÄ̳)

ͨË×Ò×¶®
10Â¥2015-02-01 15:11:35
ÒÑÔÄ   »Ø¸´´ËÂ¥   ¹Ø×¢TA ¸øTA·¢ÏûÏ¢ ËÍTAºì»¨ TAµÄ»ØÌû
Ïà¹Ø°æ¿éÌø×ª ÎÒÒª¶©ÔÄÂ¥Ö÷ snowboy9859 µÄÖ÷Ìâ¸üÐÂ
×î¾ßÈËÆøÈÈÌûÍÆ¼ö [²é¿´È«²¿] ×÷Õß »Ø/¿´ ×îºó·¢±í
[¿¼ÑÐ] Ò»Ö¾Ô¸±±¾©»¯¹¤´óѧ 070300 ѧ˶ 336·Ö Çóµ÷¼Á +6 vvÃÔ 2026-03-22 6/300 2026-03-23 22:00 by fuyu_
[¿¼ÑÐ] Ò»Ö¾Ô¸»ª¶«Àí¹¤´óѧ081700£¬³õÊÔ·ÖÊý271 +3 kotoko_ik 2026-03-23 4/200 2026-03-23 20:47 by ÎҵĴ¬Îҵĺ£
[¿¼ÑÐ] ¹¤¿Æ0856Çóµ÷¼Á +5 ãåÎö͡͡ 2026-03-21 5/250 2026-03-23 17:56 by º£ÉªÞ±-
[¿¼ÑÐ] ¹¤¿Æ²ÄÁÏ085601 279Çóµ÷¼Á +8 À§ÓÚÐdz¿ 2026-03-17 10/500 2026-03-23 13:05 by ×íÔÚ·çÀï
[¿¼ÑÐ] Ò»Ö¾Ô¸070300Õã´ó»¯Ñ§358·Ö£¬Çóµ÷¼Á£¡ +4 ËÖËÖÓã.. 2026-03-21 4/200 2026-03-23 08:12 by Iveryant
[¿¼ÑÐ] Ò»Ö¾Ô¸¶«»ª´óѧ»¯Ñ§070300£¬Çóµ÷¼Á +7 2117205181 2026-03-21 8/400 2026-03-22 22:55 by chixmc
[¿¼ÑÐ] ÉúÎïѧ071000 329·ÖÇóµ÷¼Á +5 ÎÒ°®ÉúÎïÉúÎﰮΠ2026-03-17 5/250 2026-03-22 16:42 by tcx007
[¿¼ÑÐ] 319Çóµ÷¼Á +4 СÁ¦Æøçæçæ 2026-03-20 4/200 2026-03-22 15:53 by ColorlessPI
[¿¼ÑÐ] 0856²ÄÁÏר˶353Çóµ÷¼Á +4 NIFFFfff 2026-03-20 4/200 2026-03-22 09:49 by 2026paper
[¿¼ÑÐ] Çóµ÷¼Á +3 13341 2026-03-20 3/150 2026-03-21 18:28 by ѧԱ8dgXkO
[¿¼ÑÐ] ²ÄÁϹ¤³Ì£¨×¨£©Ò»Ö¾Ô¸985 ³õÊÔ335Çóµ÷¼Á +3 hiloiy 2026-03-17 4/200 2026-03-21 03:04 by JourneyLucky
[¿¼ÑÐ] Ò»Ö¾Ô¸»ªÖпƼ¼´óѧ£¬080502£¬354·ÖÇóµ÷¼Á +5 ÊØºòϦÑôCF 2026-03-18 5/250 2026-03-21 01:06 by JourneyLucky
[¿¼ÑÐ] 22408 344·Ö Çóµ÷¼Á Ò»Ö¾Ô¸ »ªµç¼ÆËã»ú¼¼Êõ +4 solanXXX 2026-03-20 4/200 2026-03-20 23:49 by alg094825
[¿¼ÑÐ] 330Çóµ÷¼Á +4 С²Ä»¯±¾¿Æ 2026-03-18 4/200 2026-03-20 23:13 by JourneyLucky
[¿¼ÑÐ] 288Çóµ÷¼Á +16 ÓÚº£º£º£º£ 2026-03-19 16/800 2026-03-20 22:28 by JourneyLucky
[¿¼ÑÐ] Ò»Ö¾Ô¸ Î÷±±´óѧ £¬070300»¯Ñ§Ñ§Ë¶£¬×Ü·Ö287£¬Ë«·ÇÒ»±¾£¬Çóµ÷¼Á¡£ +4 ³¿»èÏßÓëÐǺ£ 2026-03-19 4/200 2026-03-20 22:15 by JourneyLucky
[¿¼ÑÐ] Ò»Ö¾Ô¸Î÷°²½»Í¨´óѧ ѧ˶ 354Çóµ÷¼Á211»òÕß˫һÁ÷ +3 ÎÒÏëÒª¶ÁÑо¿Éú 2026-03-20 3/150 2026-03-20 20:13 by JourneyLucky
[¿¼ÑÐ] ÕÐÊÕµ÷¼Á˶ʿ +4 lidianxing 2026-03-19 12/600 2026-03-20 12:25 by lidianxing
[¿¼ÑÐ] 085600²ÄÁÏÓ뻯¹¤Çóµ÷¼Á +6 Ð÷ÐÒÓë×Ó 2026-03-17 6/300 2026-03-19 13:27 by houyaoxu
[¿¼ÑÐ] ÊÕ¸´ÊÔµ÷¼ÁÉú +4 ÓêºóÇïºÉ 2026-03-18 4/200 2026-03-18 14:16 by elevennnne
ÐÅÏ¢Ìáʾ
ÇëÌî´¦ÀíÒâ¼û