Go to the first, previous, next, last section, table of contents.


¼½¼Ç°ú Àç¹èÄ¡

¹è°æ

´ÜÀûÀ¸·Î ¸»ÇÏÀÚ¸é, ¼½¼ÇÀº ºóÆ´ÀÌ ¾ø´Â ¾îµå·¹½ºµéÀÇ ¹üÀ§ÀÌ´Ù. ±×·¯ÇÑ ÁÖ¼Ò ¾È¿¡ ÀÖ´Â ¸ðµç µ¥ÀÌÅ͵éÀº °°Àº ¾î¶² Ưº°ÇÑ ¸ñÀûÀ¸·Î Ãë±ÞµÈ´Ù. ¿¹¸¦ µç´Ù¸é "read only" ¼½¼ÇÀÌ ÀÖ´Ù.

¸µÄ¿ ld´Â ¸¹Àº ¸ñÀû ÆÄÀÏ (ÇÁ·Î±×·¥ÀÇ ÀϺκÐÀÎ)À» Àоîµé¿©¼­ ±×°ÍµéÀ» °áÇÕÇÏ¿© ½ÇÇà°¡´ÉÇÑ ÇÁ·Î±×·¥ Çü½ÄÀ» ±¸¼ºÇÑ´Ù. as°¡ ¸ñÀû ÆÄÀÏÀ» ¸¸µé¾î ³¾ ¶§ ±× ºÎºÐÀûÀÎ ÇÁ·Î±×·¥Àº ¾îµå·¹½º 0¿¡¼­ ½ÃÀÛÇÏ´Â °ÍÀ¸·Î °¡Á¤µÈ´Ù. ld ´Â ¸¶Áö¸· ¾îµå·¹½º¸¦ ±× ºÎºÐÀûÀÎ ÇÁ·Î±×·¥À¸·Î ÇÒ´çÇÏ´Â µ¥, ±×·¡¼­ ´Ù¸¥ ºÎºÐÀûÀÎ ÇÁ·Î±×·¥µéÀÌ °ãÃÄÁöÁö ¾Ê´Â´Ù. ÀÌ°ÍÀº ½ÇÁö·Î ÇϳªÀÇ °£·«È­ÀÌ´Ù. ±× ·¯³ª ÀÌ°ÍÀº as°¡ ¼½¼ÇÀ» ¾î¶»°Ô »ç¿ëÇÏ´Â Áö¸¦ ¼³¸í ÇÏ´Â µ¥ ÃæºÐÇÏ´Ù. ld ´Â ´ç½Å ÇÁ·Î±×·¥ÀÇ ºí·Ï ¹ÙÀÌÆ®¸¦ À̵éÀÇ ½ÇÇà½Ã°£ ÁÖ¼Ò·Î ¿Å±ä´Ù. ÀÌ·¯ÇÑ ºí·ÏµéÀº À̵éÀÇ ½ÇÇà½Ã°£ ÁÖ¼Ò·Î ´Ü´ÜÇÑ ´ÜÀÏü·Î½á ¹Ì²ô·¯Á® µé¾î°¡´Â °ÍÀÌ´Ù. ÀÌµé ºí·ÏµéÀÇ ±æÀÌ´Â º¯ÇÏÁö ¾Ê´Â´Ù. ÀÌ·¯ÇÑ ´Ü´ÜÇÑ ´ÜÀÏüµéÀº ¼½¼Ç(section) À¸·Î ºÒ¸®¿î´Ù. ½ÇÇà½Ã ÁÖ¼Ò¸¦ ¼½¼Ç¿¡ ÇÒ´çÇÏ´Â °ÍÀ» Àç¹èÄ¡(relocation)¶ó ºÎ¸¥´Ù. relocationÀº ¸ñÀû ÆÄÀÏÀÇ ÁÖ¼ÒÀÇ ±â·ÏÀ» Á¶ÀýÇÏ´Â Å×½ºÅ©¸¦ Æ÷ÇÔ Çϴµ¥, ±×·¡¼­ ±×µéÀº °íÀ¯ÀÇ ½ÇÇà ½Ã°£ ÁÖ¼Ò·Î ÂüÁ¶µÈ´Ù. For the H8/300 and H8/500, and for the Hitachi SH, as pads sections if needed to ensure they end on a word (sixteen bit) boundary.

as°¡ ¸¸µé¾î³½ ¸ñÀû ÆÄÀÏ¿¡´Â ºñ¾îÀÖÀ» Áö¾ðÁ¤ Àû¾îµµ ¼¼ °³ÀÇ ¼½¼ÇÀÌ ÀÖ´Ù. ±×°ÍµéÀº text, data, bss ¼½¼Çµé·Î ºÒ¸®¿î´Ù.

¸¸ÀÏ COFF Çü½ÄÀ¸·Î Ãâ·ÂÇÑ´Ù¸é, as´Â ¶ÇÇÑ ¿©·¯ºÐµéÀÌ `.section' Áö½Ã¾î (see section ¼½¼Ç°ú Àç¹èÄ¡)¸¦ »ç¿ëÇÏ¿© ¸í½ÃÇÑ À̸§À¸·Î ºÒ¸®¿ì´Â ¼½¼ÇÀ» ¸¸µé¾î ³¾ ¼ö ÀÖ´Ù. ¸¸ÀÏ `.text' ¶Ç´Â `.data' ¼½¼Ç¿¡ ¾î¶°ÇÑ Áö½Ã¾îµµ »ç¿ëÇÏÁö ¾Ê ´Â ´Ù¸é, ±×°Í¿¡ ÇØ´çÇÏ´Â ¼½¼ÇµéÀº ´ÜÁö Á¸À縸 ÇÏ°í, ºñ¾î ÀÖ°Ô µÈ´Ù.

as°¡ HPPA±âÁ¾¿¡¼­ SOMÀ̳ª ELF Ãâ·ÂÀ» ¸¸µé¾î ³¾ ¶§, ´ç½ÅÀÌ `.space'¿Í `.subspace'¸¦ »ç¿ëÇÏ¿© ¸í½ÃÇÑ ´Ù¸£°Ô À̸§ ºÙ¿©Áø ¼½¼Çµµ ¸¸µé¾î ³¾ ¼ö ÀÖ´Ù. `.space', `.subspace' ¾î¼Àºí·¯ Áö½Ã¾î¿¡ ´ëÇÑ ÀÚ¼¼ÇÑ °ÍÀº HP9000 Series 800 Assembly Language Reference Manual(HP 92432-90001)À» º¸¶ó.

µ¡ºÙ¿©¼­, SOM Ãâ·ÂÀ» ¸¸µé¾î ³¾ ¶§ as´Â Ç¥ÁØ text, data, bss ¼½¼Ç¿¡ À־ ´Ù¸¥ À̸§À» »ç¿ëÇÑ´Ù. ÇÁ·Î±×·¥ text´Â `$CODE$' ¼½¼ÇÀÌ µÇ°í, data´Â `$DATA$' , BSS´Â `$BSS$'¼½¼ÇÀ¸·Î »ç¿ëµÈ´Ù.

¸ñÀû ÆÄÀϳ»¿¡¼­, text ¼½¼ÇÀº 0 ¹ø ÁÖ¼Ò¿¡¼­ ½ÃÀÛÇÏ°í, data ¼½¼ÇÀÌ ±× ´ÙÀ½¿¡ µû¶ó¿À¸ç, ±× µÚ¿¡ bss ¼½¼ÇÀÌ µÚµû¸¥´Ù.

HPPA¿¡¼­ SOMÀ̳ª ELF Ãâ·ÂÆÄÀÏÀ» ¸¸µé¾î ³¾ ¶§, text ¼½¼ÇÀº 0 ¹ø ÁÖ¼Ò¿¡¼­ ½ÃÀÛÇϸç data ¼½¼ÇÀº 0x4000000¿¡ ÀÖÀ¸¸ç, bss ¼½¼ÇÀº data ¼½¼Ç µÚ¿¡ ¿Â´Ù.

as´Â ¼½¼ÇÀÌ Àç¹èÄ¡ µÉ ¶§ ¾î¶² µ¥ÀÌÅÍ°¡ º¯°æµÇ´ÂÁö, ¾î¶»°Ô ±× µ¥ÀÌÅ͸¦ º¯ °æÇÏ´Â Áö¸¦ ld°¡ ¾Ë°Ô Çϱâ À§ÇÏ¿© Àç¹èÄ¡¿¡ ÇÊ¿äÇÑ ¼¼¼¼ÇÑ Á¤º¸¸¦ ¸ñÀû ÆÄ ÀÏ¿¡ ¾´´Ù. Àç¹èÄ¡¸¦ Çϱâ À§Çؼ­ ld ´Â ¾Õ¼­ À̾߱â ÇßµíÀÌ ¸ñÀû ÆÄÀϳ»¿¡ ÀÖ´Â ÁÖ¼ÒÀÇ °¢°¢ÀÇ ½Ã°£À» ¾Ë¾Æ¾ß ÇÑ´Ù:

»ç½Ç, as¿¡ À־ ¸ðµç ÁÖ¼Ò´Â ´ÙÀ½°ú °°ÀÌ Ç¥ÇöµÈ´Ù.

(¼½¼Ç) + (¼½¼Ç¼Ó¿¡¼­ÀÇ ¿É¼Â)

´õ ³ª¾Æ°¡¼­, as°¡ µûÁö´Â ´ëºÎºÐÀÇ Ç¥ÇöµéÀº ÀÌ·¯ÇÑ ¼½¼Ç-°ü°è¿¡ ¹ÙÅÁÀ» µÐ´Ù.

ÀÌ ¸Å´º¾ó¿¡¼­ ¿ì¸®´Â "secname ¼½¼Ç ¼ÓÀÇ ¿É¼Â N"À» {secname N} À¸·Î Ç¥±â ÇÑ´Ù.

text, data, bss ¼½¼Ç°ú´Â º°°³·Î ¿©·¯ºÐµéÀº Àý´ë(absolute) ¼½¼Ç¿¡ ´ëÇØ ¼­ ¾Ë¾Æ¾ß ÇÑ´Ù. ld °¡ ºÎºÐÀû ÇÁ·Î±×·¥µéÀ» ¼¯À» ¶§, Àý´ë¼½¼Ç¾ÈÀÇ ÁÖ¼Ò´Â ¹Ù²îÁö ¾Ê°í ³²°Ô µÈ´Ù. ¿¹¸¦ µé¸é, ÁÖ¼Ò {absolute 0}Àº ½ÇÇà½Ã°£ ÁÖ¼Ò 0À¸ ·Î ld¿¡ ÀÇÇØ "Àç¹èÄ¡" µÈ´Ù. Although the linker never arranges two partial programs' data sections with overlapping addresses after linking, by definition their absolute sections must overlap. ÇÁ·Î±×·¥ ÇѺκп¡¼­ ÁÖ¼Ò {absolute 239} Àº ÇÁ·Î±×·¥ÀÇ ´Ù¸¥ ¾î´À ºÎÀ§¿¡¼­ {absolute 239} ÁÖ¼Ò·Î ½ÇÇàµÉ ¶§ °°Àº ÁÖ¼Ò ·Î µÈ´Ù. ¼½¼Ç¿¡ ´ëÇÑ ÀÌ·¯ÇÑ °³³äÀº Á¤ÀǵÇÁö¾ÊÀº(undefined)¼½¼ÇÀ¸·Î È®´ëµÈ´Ù. ¾î¼Àºí½Ã ¾Ë·ÁÁöÁö ¾ÊÀº ¾î¶°ÇÑ ÁÖ¼Òµç {undefined U}¿Í °°ÀÌ Á¤ÀǵȴÙ. (U°¡ ÀÖ´Â ºÎºÐÀº ³ªÁß¿¡ ä¿öÁø´Ù.) ¼öÄ¡µéÀÌ Ç×»ó Á¤ÀÇµÈ ÀÌÈÄ¿¡ Á¤ÀǵÇÁö ¾ÊÀº ÁÖ¼Ò¸¦ »ý¼ºÇÏ´Â °ÍÀº Á¤ÀǵÇÁö ¾ÊÀº(undefined) ½Éº¼À» ±âÀçÇÏ´Â ¹æ¹ý »ÓÀÌ´Ù. ÅëĪ °øÅëµÈ ºí·ÏÀ̶ó ºÎ¸£´Â °Í¿¡ ´ëÇÑ ÂüÁ¶°¡ ±×·¯ÇÑ ½Éº¼ÀÌ µÈ´Ù. ÀÌ°ÍÀÇ °ªÀÌ ¾î¼Àºí½Ã ¾Ë·ÁÁöÁö ¾Ê¾Æ¼­ undefined ¼½¼ÇÀÌ µÇ´Â °ÍÀÌ´Ù.

À¯»çÇÏ°Ô section(¼½¼Ç) ³¹¸»Àº ¸µÅ©µÈ ÇÁ·Î±×·¥¿¡¼­ ¼½¼ÇÀÇ ±×·ìÀ» ÁöĪ Çϴµ¥¿¡µµ »ç¿ëµÈ´Ù. ld´Â ¸ðµç ºÎºÐÀûÀÎ ÇÁ·Î±×·¥ÀÇ text ¼½¼ÇÀ» ¸µÅ©µÈ ÇÁ ·Î±×·¥¾È¿¡ ÀÎÁ¢ÇÑ ÁÖ¼Ò·Î ³õ´Â´Ù. ÀÌ°ÍÀº Åë¼ÓÀûÀ¸·Î ¸ðµç ºÎºÐÀû ÇÁ·Î±×·¥ÀÇ text ¼½¼ÇµéÀÇ ¸ðµç ÁÖ¼Ò¸¦ text sectionÀ¸·Î ÂüÁ¶ÇÏ´Â °ÍÀÌ´Ù. data¿Í bss ¼½¼Çµµ ¸¶Âù°¡Áö´Ù.

¾î¶² ¼½¼ÇµéÀº ld¿¡ ÀÇÇØ Ã³¸®µÇ°í, ´Ù¸¥ °ÍµéÀº as¿¡ ÀÇÇØ Ã³¸®µÇ´Âµ¥, ¾î ¼ÀºíÀ» ÇÒ ¶§¸¦ Á¦¿ÜÇÏ°í´Â ÀÌ´Â º° Àǹ̰¡ ¾ø´Ù.

ld ¿¡ À־ÀÇ ¼½¼Ç

ld´Â ¾Æ·¡¿¡ ¿ä¾àÇÑ 4°¡Áö Á¾·ùÀÇ ¼½¼ÇÀ¸·Î ³ª´«´Ù.

named sections
text section
data section
ÀÌ ¼½¼ÇµéÀº ´ç½ÅµéÀÇ ÇÁ·Î±×·¥¿¡ ´ã°Ü ÀÖ´Ù. as¿Í ld´Â ±×°ÍµéÀ» ºÐ¸®µÈ, ±×·¯³ª °°Àº ¼½¼ÇÀ¸·Î Ãë±ÞÇÑ´Ù. ÇϳªÀÇ ¼½¼Ç¿¡ ÇØ´çÇÏ´Â °ÍÀº ´Ù¸¥ ¼½¼Ç¿¡µµ ¸¶Âù°¡Áö·Î ÇØ´çÇÑ´Ù. ±×·¯³ª ÇÁ·Î±×·¥ÀÌ ½ÇÇà µÉ ¶§, Åë¼ÓÀûÀ¸·Î text ¼½¼ÇÀº º¯°æµÇÁö ¾Ê´Â´Ù. text ¼½¼ÇÀº Á¾Á¾ ÇÁ·Î¼¼½º¿¡ ÀÇÇØ °øÀ¯µÈ´Ù. (text ¼½¼ÇÀº ¸í·É¾î¿Í »ó¼ö °°Àº °Íµé À» Æ÷ÇÔÇÑ´Ù.) ½ÇÇàÁß ÇÁ·Î±×·¥ÀÇ data ¼½¼ÇÀº º¸Åë º¯°æµÈ´Ù. ¿¹¸¦ µé¸é C º¯¼öµéÀº data ¼½¼Ç¿¡ ÀúÀåµÈ´Ù.
bss section
ÀÌ ¼½¼ÇÀº ÇÁ·Î±×·¥ÀÌ ½ÇÇàµÇ±â ½ÃÀÛÇÒ ¶§ 0 ¹ÙÀÌÆ®·Î ±¸¼ºµÈ´Ù. ±×°ÍÀº ÃÖ±âÈ­ µÇÁö ¾ÊÀº º¯¼ö³ª °øÅëµÈ ÀúÀå¼Ò¸¦ ´ã±â À§Çؼ­ »ç¿ëµÈ´Ù. ºÎºÐÀûÀÎ ÇÁ·Î±×·¥ÀÇ °³º° bss ¼½¼ÇÀÇ ±æÀÌ´Â Áß¿äÇÏ´Ù. ±×·¯³ª ±×°ÍÀº 0 ¹ÙÀÌÆ®·Î ½ÃÀÛÇϱ⠶§¹®¿¡ ¸ñÀû ÆÄÀϳ»¿¡¼­ ¸í¹éÇÏ°Ô 0 ¹ÙÀÌÆ®¸¦ ÀúÀåÇÒ ÇÊ¿ä´Â ¾ø´Ù. bss ¼½¼ÇÀº ¸ñÀû ÆÄ ÀϷκÎÅÍ ÀÌ·¯ÇÑ ¸í¹éÇÑ zeroµéÀ» Á¦°ÅÇϱâ À§ÇØ ¹ß¸íµÇ¾ú´Ù.
absolute section
ÀÌ ¼½¼ÇÀÇ 0¹øÁö´Â Ç×»ó ½ÇÇà½Ã°£ 0¹øÁö·Î "Àç¹èÄ¡(relocated)"µÈ´Ù. ÀÌ°ÍÀº ld°¡ Àç¹èÄ¡½Ã¿¡ º¯°æÇÏÁö ¸»¾Æ¾ß ÇÒ ÁÖ¼Ò¸¦ ¿ì¸®°¡ ÂüÁ¶ÇÏ´Â µ¥ ¿ä±äÇÏ°Ô »ç¿ëµÈ´Ù. ÀÌ·¯ÇÑ ¶§¿¡ ¿ì¸®´Â Àý´ë ÁÖ¼Ò´Â "Àç¹èÄ¡µÇÁö ¾Ê´Â °ÍÀÌ´Ù" ¶ó°í ¸»ÇÒ ¼ö ÀÖ´Ù. Àý´ëÁÖ¼Ò´Â Àç¹èÄ¡µ¿¾È¿¡ º¯°æµÇÁö ¾Ê´Â´Ù.
undefined section
ÀÌ ¼½¼ÇÀº ¹Ù·Î ¾ÕÀÇ ¼½¼Çµé¿¡ ¾ø´Â, °´Ã¼¸¦ ÂüÁ¶ÇÏ´Â ¸ðµç ÁÖ¼Òµé À» Àâ¾ÆµÎ´Â °÷ÀÌ´Ù.

¼¼ °³ÀÇ Àç¹èÄ¡ °¡´ÉÇÑ ¼½¼ÇµéÀÇ ÀÌ»óÀûÀÎ ¿¹¸¦ µé¾îº¸ÀÚ. ÀÌ ¿¹´Â `.text'¿Í `.ata'¶ó°í ºÒ¸®¿ì´Â ÀüÅëÀûÀÎ ¼½¼ÇÀ» »ç¿ëÇÑ´Ù. ¸Þ¸ð¸® ÁÖ¼Ò´Â ¼öÆòÀûÀÎ ÃàÀ¸·Î °¡Á¤Çß´Ù.

as ¿¡ À־ÀÇ ¼½¼Ç

¿©±â¿¡ ³ª¿À´Â ºÎºÐµéÀº ´ÜÁö asÀÇ ³»ºÎÀûÀÎ »ç¿ë¿¡ °ü·ÃµÈ °ÍÀÌ´Ù. À̰͵éÀº ½ÇÇà½Ã°£¿¡´Â º°»ó°üÀÌ ¾ø´Â °ÍµéÀÌ´Ù. ¿©·¯ºÐµéÀÇ ÀϹÝÀûÀÎ ¸ñÀû¿¡´Â ÀÌ·¯ÇÑ °ÍµéÀ» ¾Ë¾Æ¾ß ÇÒ Çʿ伺À» ´À³¢Áö ¸ø ÇÒ °ÍÀÌ´Ù. ±×·¯³ª À̰͵éÀº asÀÇ °æ°í¸Þ ¼¼Áö·Î ³ªÅ¸³¯ ¼ö ÀÖ´Ù. ±×·¸±â ¶§¹®¿¡ ¾Ë¾ÆµÎ¸é ±×·¯ÇÑ Àǹ̵éÀ» ÆľÇÇÏ´Â µ¥ µµ¿òÀÌ µÉ °ÍÀÌ´Ù. ÀÌ·¯ÇÑ ºÎºÐµéÀº ¾î¼Àºí¸® ¾ð¾î·Î ÀÛ¼ºµÈ ÇÁ·Î±×·¥³»¿¡¼­ÀÇ ¸ðµç Ç¥ÇöµéÀÇ °ªÀÌ ¼½¼Ç-°ü°è ÁÖ¼Ò·Î µÇ´Â °ÍÀ» Çã¿ëÇϱâ À§Çؼ­ »ç¿ëµÈ´Ù.

ASSEMBLER-INTERNAL-LOGIC-ERROR!
³»ºÎÀûÀÎ ¾î¼Àºí·¯ ³í¸® ¿¡·¯°¡ ¹ß°ßµÇ¾ú´Ù. ÀÌ°ÍÀº ¾î¼Àºí·¯¿¡ ¹ö±×°¡ ÀÖ´Ù´Â °ÍÀ» ¸»ÇÑ´Ù.
expr section
¾î¼Àºí·¯´Â º¹ÀâÇÑ Ç¥ÇöÀ» ³»ºÎÀûÀ¸·Î ½Éº¼ÀÇ Á¶ÇÕÀ¸·Î ÀúÀåÇÑ´Ù. ±×·¯ÇÑ Ç¥ÇöÀ» ½Éº¼·Î¼­ À翬ÇÏ´Â °ÍÀÌ ÇÊ¿äÇÒ ¶§ ±×°ÍÀ» expr ¼½¼Ç¿¡ ³õ´Â´Ù.

º¸Á¶ ¼½¼Ç

¾î¼ÀºíµÈ ¹ÙÀÌÆ®µéÀº ÀüÅëÀûÀ¸·Î µÎ °³ÀÇ ¼½¼Ç(text¿Í data)ÀÇ »óÅ·ΠµÈ´Ù. ¿©·¯ºÐµéÀº ¼½¼ÇÀ̶ó ºÒ¸®¿ì´Â ºÐ¸®µÈ µ¥ÀÌÅÍ text or data ±×·ìÀ» °¡Áú ¼ö ÀÖ´Â µ¥, ±× ±×·ìÀº ¼³»ç ¾î¼À ºí¸® ¼Ò½º¿¡¼­ °¡±îÀÌ¿¡ ÀÎÁ¢ÇÏÁö ¾Ê´Â´Ù ÇÒÁö¶óµµ ¸ñÀû ÆÄÀϾȿ¡¼­ ¼­·Î¸¦ ÇÑÂÊÀ» ³¡À¸·ÎÇÏ¿© °¡±îÀÌ Á¸ÀçÇϵµ·Ï ÇÏ´Â °ÍÀÌ´Ù. as´Â ÀÌ·¯ÇÑ ¸ñÀûÀ¸·Î º¸Á¶¼½¼Ç(subsections)À̶ó´Â °ÍÀ» »ç¿ëÇϵµ·Ï Çã¿ëÇÑ´Ù. °¢°¢ÀÇ ¼½¼Ç³»¿¡¼­, 0 ¿¡¼­ 8192±îÁöÀÇ °ªÀÌ ºÙ¿©Áø º¸Á¶¼½¼ÇÀÌ Á¸ÀçÇÒ ¼ö ÀÖ´Ù. °°Àº º¸Á¶¼½¼Ç¼ÓÀ¸·Î ¾î¼ÀºíµÈ °´Ã¼µéÀº °°Àº º¸Á¶¼½¼Ç¾È¿¡ ÀÖ´Â °´Ã¼µé°ú ÇÔ²² ¸ñÀû ÆÄÀÏ·Î µé ¾î°£´Ù. ¿¹¸¦ µéÀÚ¸é, ÄÄÆÄÀÏ·¯´Â text ¼½¼Ç¿¡ »ó¼öµéÀ» ÀúÀåÇÒ °ÍÀ̳ª, ¾î¼Àºí µÈ ÇÁ·Î±×·¥¼Ó¿¡ À̸®Àú¸® Èð¾î³õ±â´Â ½È¾î ÇÒ °ÍÀÌ´Ù. ÀÌ·¯ÇÑ °æ¿ì¿¡ ÄÄÆÄÀÏ·¯ ´Â Ãâ·ÂµÇ´Â ÄÚµåÀÇ °¢°¢ÀÇ ¼½¼Ç ÀÌÀü¿¡ `.text 0'°ú °°Àº °ÍÀ» ¹ß»ý½Ãų ¼ö ÀÖ À» °ÍÀÌ´Ù. ±×¸®°í Ãâ·ÂµÇ´Â °¢°¢ÀÇ »ó¼ö±×·ìÀÌÀü¿¡ `.text 1'À» ¹ß»ý½Ãų ¼ö ÀÖ´Ù.

º¸Á¶¼½¼ÇÀº ¼±ÅÃÀûÀÌ´Ù. ¸¸ÀÏ º¸Á¶¼½¼ÇÀ» »ç¿ëÇÏÁö ¾Ê´Â´Ù¸é ¸ðµç °ÍµéÀÇ º¸ Á¶¼½¼Ç ¼ýÀÚ´Â 0ÀÌ µÉ °ÍÀÌ´Ù.

°¢°¢ÀÇ º¸Á¶¼½¼ÇÀº 0¿¡¼­ 4¹ÙÀÌÆ® ¾¿ °öÇؼ­ ³ô¾ÆÁø´Ù. (º¸Á¶¼½¼ÇÀº asÀÇ ´Ù ¸¥ ÃëÇâ¿¡ µû¶ó ´Ù¸£°Ô °è»êµÇ¾îÁú °ÍÀÌ´Ù.)

º¸Á¶¼½¼ÇÀº ¸ñÀû ÆÄÀϾȿ¡¼­ ÀÛÀº ¼ö¿¡¼­ Å« ¼ö·Î Á¤·ÄµÈ »óÅ·Π³ªÅ¸³­´Ù. (´Ù¸¥ À̵éÀÇ ÄÄÆÄÀÏ·¯¿¡µµ ÇØ´çµÇ´Â °ÍÀÌ´Ù.) ¸ñÀû ÆÄÀÏÀº º¸Á¶¼½¼ÇÀ» 2¹øÀÌ»ó Æ÷ÇÔÇÏÁö ¾Ê´Â´Ù. ¸ñÀû ÆÄÀÏÀ» ó¸®ÇÏ´Â ld¿Í ´Ù¸¥ ÇÁ·Î±×·¥µéÀº ±×·¯ÇÑ °ÍµéÀÇ ÀÚÃ븦 º¸Áö ¸øÇÑ´Ù. ±×µéÀº ´ÜÁö ¸ðµç text º¸Á¶¼½¼ÇÀ» ÇϳªÀÇ text ¼½¼ÇÀ¸·Î º¼ »ÓÀ̸ç, ¸ðµç data º¸Á¶¼½¼ÇÀº ÇϳªÀÇ data ¼½¼ÇÀ¸·Î º¼ »ÓÀÌ ´Ù.

º¸Á¶¼½¼ÇÀ» ¸í½ÃÇÏ·Á¸é, `.text expression'À̳ª `.data expression' ±¸¹®°ú °°Àº ¼öÄ¡·Î Ç¥½ÃµÈ ÀÎÀÚ¸¦ »ç¿ëÇ϶ó. COFF Ãâ·ÂÀ» ¸¸µé¾î ³¾ ¶§, ¿©·¯ºÐµéÀº Ưº°ÇÑ º¸Á¶¼½¼Ç ÀÎÀÚ¸¦ »ç¿ëÇÒ ¼ö ÀÖ´Â µ¥, ÀÌ°ÍÀÇ À̸§Àº ¸¶À½´ë·Î ºÙÀÏ ¼ö ÀÖ´Ù . (`section name, expression'.) ExpressionÀº Àý´ëÇ¥ÇöÀÌ µÇ¾î¾ß ÇÑ´Ù. (See section Ç¥Çö) ´ÜÁö `.text'¶ó°í¸¸ ¾´´Ù¸é `.text 0'ÀÌ °¡Á¤µÈ´Ù. ¸¶Âù°¡Áö·Î `.data'´Â `.data 0'À» ¶æÇÑ´Ù. ¾î¼Àºí¸®´Â 'text 0'¿¡¼­ ½ÃÀÛÇÑ´Ù. º¸±â°¡ ¸î °³ ÀÖ´Ù.

.text 0     # The default subsection is text 0 anyway.
.ascii "This lives in the first text subsection. *"
.text 1
.ascii "But this lives in the second text subsection."
.data 0
.ascii "This lives in the data section,"
.ascii "in the first data subsection."
.text 0
.ascii "This lives in the first text section,"
.ascii "immediately following the asterisk (*)."

°¢°¢ÀÇ ¼½¼ÇÀº À§Ä¡ Ä«¿îÅͶó°í ÇÏ´Â ±× ¼½¼Ç¼ÓÀ¸·Î ¾î¼ÀºíµÈ ¸ðµç ¹ÙÀÌÆ® ¸¶ ´Ù Çϳª¾¿ÀÇ Áõ°¡¸¦ ÇÏ´Â °ÍÀ» °¡Áö°í ÀÖ´Ù. º¸Á¶¼½¼ÇÀº ´ÜÁö º¸Á¶¼½¼ÇÀ̶ó´Â °³³äÀÌ ¾ø´Â as¿¡°Ô Á¦ÇÑµÈ ÆíÀǸ¦ Á¦°øÇÏÀÚ´Â °ÍÀÌ´Ù. ¹Ù·Î À§Ä¡ Ä«¿îÅ͸¦ ó¸®ÇÏ´Â ¹æ¹ýÀº ¾øÀ¸³ª .alignÀ̶ó´Â Áö½Ã¾î¸¦ »ç¿ëÇÏ¿© ±×°ÍÀ» º¯°æÇÒ ¼ö´Â ÀÖ´Ù. ±×¸®°í ¶óº§ Á¤ÀÇ´Â ±×°ÍÀÇ ÇöÀç°ªÀ» ĸÃÄÇÑ ´Ù. ±¸¹®ÀÌ ¾î¼ÀºíµÇ´Â ¼½¼ÇÀÇ À§Ä¡ Ä«¿îÅÍ´Â È°¼ºÈ­µÈ(active) À§Ä¡ Ä«¿îÅͶó °í ºÎ¸¥´Ù.

bss ¼½¼Ç

bss ¼½¼ÇÀº Áö¿ªÀûÀÎ °øÅëµÇ´Â °ªµéÀ» ÀúÀåÇϱâ À§ÇÑ Àå¼Ò·Î »ç¿ëµÈ´Ù. ¿©·¯ºÐ µéÀº bss ¼½¼Ç¿¡ ÁÖ¼Ò °ø°£À» ÇÒ´çÇÒ ¼ö ÀÖÀ¸³ª, ÇÁ·Î±×·¥ÀÌ ½ÇÇàµÇ±â Àü¿¡´Â bss ¼½¼Ç¿¡ data¸¦ ·ÎµåÇÒ ¼ö´Â ¾ø´Ù. ¿©·¯ºÐµéÀÇ ÇÁ·Î±×·¥ÀÌ ½ÇÇàµÇ±â ½ÃÀÛÇÒ ¶§, ¸ðµç bss ¼½¼ÇÀÇ ³»¿ë¹°Àº 0 ¹ÙÀÌÆ®°¡ µÈ´Ù.

bss ¼½¼ÇÀÇ ÁּҴ Ưº°ÇÑ Áö½Ã ÀÚ¿¡ ÀÇÇØ ÇÒ´çµÈ´Ù. ¿©·¯ºÐµéÀº bss ¿µ¿ª¿¡ ¹Ù·Î ¾î¶² °ÍÀ» Áý¾î³Ö°í ¾î¼Àºí ÇÒ ¼ö´Â ¾ø´Ù. See section .comm symbol , length , see section .lcomm symbol , length.

(¿ªÀÚÁÖ: C¿¡¼­ °øÅëÀûÀ¸·Î »ç¿ëµÇ´Â Àü¿ªº¯¼ö Áß ÃʱâÈ­µÇÁö ¾Ê´Â º¯¼öµéÀº bss ¼½¼Ç¿¡ Ç¥½Ã°¡ µÇ´Â °Í °°´Ù. `.comm p,4,4' ´Â C¿¡¼­ Àü¿ªº¯¼ö·Î `char *p;'³ª `int p;' ·Î ¼±¾ðÇÑ °Í°ú °°Àº ÀǹÌÀÌ´Ù. Àü¿ªº¯¼ö Áß¿¡¼­ ÃʱâÈ­µÈ °ÍÀº data ¼½¼ÇÀ¸·Î µé¾î°£´Ù.)


Go to the first, previous, next, last section, table of contents.