C¿Í C++°ü·Ã |
---|
Á¦¸ñ | Segmentation Fault 1998/07/07 (17:27) |
À̸§ | ±èÈ¿¿ø |
¹øÈ£ | 5 |
Á¶È¸ | 656 |
º»¹® |
¹®ÀÚ¿À» ó¸®ÇÏ´Â µ¥ ÀÖ¾î¼. °¡Àå ÈçÇÏ°Ô ¸¸³¯ ¼ö ÀÖ´Â ¿¡·¯°¡, ¹Ù·Î, segmentation fault¿¡·¯ ÀÔ´Ï´Ù. À©µµ¿ì¿¡¼´Â ÀÚ¼¼È÷ ±â¾ïÀº ³ªÁö ¾ÊÁö¸¸, 0x000000 ¹øÁöÀÇ ¸Þ¸ð¸®¸¦ ÀÐÀ» ¼ö ¾ø´Ù°í, (±ÇÇÑ ¿¡·¯ÀÎÁö, °øÀ¯ ³ª¿À¸é¼.) ÇÁ·Î±×·¥ÀÌ Á×½À´Ï´Ù. °¡Àå Å« ¿øÀÎÀº ¹«¾ùÀÌ³Ä Çϸé, c/c++¿¡¼, óÀ½¿¡. pointer¸¦ ¼³Á¤ÇÒ¶§ ÀÖ¾î¼. default°¡ NULL(0x0000¹øÁöÀÇ ¸Þ¸ð¸®) ¸¦ °¡¸®Å°°Ô linux¿Í windows¸ðµÎ ÀÌ ºÎºÐ¿¡ ´ëÇÑ. Á¢±ÙÇÒ ¼ö ¾øÀ¸¹Ç·Î, segmentation error°¡ ¶ß´Â °Ì´Ï´Ù. ÀϹÝÀûÀÎ dos³ª, windows 95ÀÇ °æ¿ì¿¡´Â. os ¿µ¿ªÀ» ¸¶À½´ë·Î °íÄ¥¼ö ÀÕÀ¸¹Ç·Î. ÀçºÎÆÃÀ» ÇØ¾ß ÇÏ´Â »çÅ°¡ ¹ú¾îÁú ¼ö ÀÕ½À´Ï´Ù. ¹ØÀÇ ¹®Á¦¿¡¼ *ptr=' À̶ó°í Çϴ°ÍÀº. ¹øÁöÀÇ ³»¿ë(ÇÒ´ç¹ÞÁö ¾Ê¾ÒÀ¸¹Ç·Î, ƯÁ¤ pointer¸¦ °¡ÁöÁö ¾ÊÀ½) ÀÌ°ÍÀ», Æ÷ÀÎÅÍ¿¡ ÇÒ´çÇÏ¿©,Àо·Á°í ÇÔÀ¸·Î½á. »ý±â´Â ¿¡·¯ÀÔ´Ï´Ù. °¡Àå Çϱ⠽¬¿î ½Ç¼ö´Â ´ÙÀ½°ú °°Àº ½Ç¼öÀÔ´Ï´Ù. char *str; ±× ´ÙÀ½¿¡, strº¯¼ö¸¦ »ç¿ëÇÏ´Â °Ì´Ï´Ù. °¡Àå ½¬¿î ÇØ°áÃ¥À¸·Î´Â, char *str= new char; ¶Ç´Â str=(char *) sizeof(char) n)); (Àß ¾È º¸¿©¼, ¸Â´ÂÁö ¸ð¸£°Ù³×¿ä.) ¹®ÀÚ¿À» Æ÷ÀÎÅÍ°¡ ¾Æ´Ñ. ¹è¿·Î »ç¿ëÇÑ´Ù¸é,óÀ½ ¼±¾ð½ÃºÎÅÍ, ƯÁ¤ ¸Þ¸ð¸®°¡ ÇÒ´çµÇ¹Ç·Î,°ÆÁ¤ÇÒ ÇÊ¿ä°¡ ¾ø½À´Ï´Ù. ±×·³.À̸¸. |