´ÙÀ½ ÀÌÀü Â÷·Ê

3. META ÇÁ·Î±×·¡¹Ö/ ¸ÅÅ©·Î ó¸®

¿©·¯ºÐµéÀº ÀÌ·¯ÇÑ ÀÛ¾÷À» À§Çؼ­ Àû´çÇÑ ÅøÀ» »ç¿ëÇÒ ¼ö ÀÖÀ¸¸ç, ±×°ÍÀÌ Àû´çÇÏÁö ¾Ê´Ù¸é ¾î¼Àºí¸®¸¦ ¼±ÅÃÇÒ ¼ö ¾ø´Ù; C, OCAML, perl, Scheme °¡ ´ç½ÅÀÇ ÇÁ·Î±×·¡¹ÖÀÇ ÃÖ¼±ÀÇ ¼±ÅÃÀÌ µÉ °ÍÀÌ´Ù. ±×·¯³ª, ÀÌ·¯ÇÑ ÅøµéÀÌ ±â°è»ó¿¡¼­ ÃæºÐÈ÷ ¾µ¸¸ÇÑ Á¦¾î±â´ÉÀ» ÁÖÁö ¾Ê´Â´Ù¸é, ¾î¼Àºí¸®´Â À¯¿ëÇϰųª ÇÊ¿äÇÒ °ÍÀÌ´Ù. ´Ù¸¥ °æ¿ì¿¡, ¸¸ÀÏ ¿©·¯ºÐµéÀÌ ¾ÈÀüÇÑ ÇÁ·Î±×·¡¹Ö, Æí¾ÈÇÑ ¼öÁ¤ µîµîÀ» Çã¶ôÇÏ´Â ÀζóÀÎ È®Àå¿¡ ÀÇÇØ ÀÚµ¿ÀûÀ¸·Î ½Ã½ºÅÛÀÇ ¸ÅÅ©·Îó¸®¿Í ¸ÞŸÇÁ·Î±×·¡¹ÖÀ» ÀÌÇØÇÏ °íÀÚ ÇÑ´Ù¸é ±×°ÍÀº Çѹø Á¤ÀǵǴ Àç±ÍÆÐÅÏÀ» Çã¶ôÇÒ °ÍÀ̸ç, ´ÙÁß ½Ã°£À» Àç»ç¿ë ÇÒ °ÍÀÌ´Ù. "ÆòÀÌÇÑ" ¾î¼Àºí·¯´Â Á¾Á¾ ÀÛÀº ·çƾÀ» C·Î ¸µÅ©½Ãų ¶§ Á¶Â÷ ÃæºÐÈ÷ ¾ÊÀº¶§°¡ ÀÖ´Ù.

3.1 À§¿¡¼­ ÅëÇÕµÈ °ÍÀ̶õ ¹«¾ùÀ» ¶æÇϴ°¡

GCC

GCC ¿¡¼­ ÀζóÀÎ ¾î¼Àºí¸® Äڵ带 »ç¿ëÇÑ´Ù¸é ±× ¼Ó¿¡¼­ÀÇ ·¹Áö½ºÅÍ ±ÔÄ¢À» ²Ä²Ä ÇÏ°Ô »ìÆ캸¾Æ¾ß ÇÑ´Ù. ÃÖÀûÈ­½ÇÇàÀÚ´Â Ç×»ó ±×°Í¿¡ ´ëÇØ ¾Ë°í ÀÖÀ¸¹Ç·Î, ÀζóÀÎ ¾î¼Àºí¸® ÄÚµå´Â Á¤È®ÇÏÁö ¾Ê´Â Äڵ带 ¸¸µé¾î ³½´Ù. ±×·¯¸é, ¿©·¯ºÐµéÀÇ ¾î¼Àºí¸®¸¦ CPP ¸ÅÅ©·Î¿¡ ³õÀ» ¼ö ÀÖÀ¸¸ç, ¸ðµç »ç¶÷µéµµ ±×°ÍÀ» C ÇÔ¼ö/¸ÅÅ©·Î·Î »ç¿ëÇÒ ¼ö ÀÖÀ» °ÍÀÌ´Ù. ÀζóÀÎ ÇÔ¼ö´Â ¸ÅÅ©·Î¿Í ¸Å¿ì ¸¹ÀÌ ºñ½ÁÇѵ¥, ±×°ÍÀº °¡²û »ç¿ëÀ» Çϱâ À§ÇØ ±ú²ýÇÏ°Ô Ã»¼ÒµÉ ¶§°¡ ÀÖ´Ù. ±×·¯ÇÑ °æ¿ì¿¡ Äڵ尡 º¹»ç°¡ µÉ ¼ö ÀÖÀ¸´Ï ÁÖÀÇÇØ¾ß ÇÑ´Ù. ±×·¡¼­ ·ÎÄà ¶óº§("1:" ½ºÅ¸ÀÏÀÇ)¿¡¼­¸¸Àº ¾î¼Àºí¸® Äڵ忡¼­ Á¤ÀǵǾî ÀÖ¾î¾ß ÇÑ´Ù. ±×·¸´Ù ÇÒÁö¶óµµ, ¸ÅÅ©·Î´Â ·ÎÄÃÀÌ ¾Æ´Ñ Á¤ÀǶóº§ÀÇ À̸§µµ Çã¿ëÀ» ÇÑ´Ù. ¶ÇÇÑ, ¿©·¯ºÐµéÀÇ Äڵ峪 GCCÀÇ Á¶±ÝÀÇ ¹ö±×´Â ·¹Áö½ºÅÍ ±ÔÁ¤ÀÌ ¾Æ¸¶µµ ¼±¾ðµÇ Áö ¾Ê¾ÒÀ» ¶§, ÀζóÀÎ ÇÔ¼ö¸¦ ¾î¼Àºí¸® ÄÚµå·Î »ç¿ëÇÒ ¶§, ³ªÅ¸³¯ ¼ö ÀÖÀ» °Í À̸ç GCC¸¦ È¥µ¿¿¡ ºü¶ß¸°´Ù. ¸¶Áö¸·À¸·Î, C ¾ð¾î´Â ±×Â÷ü°¡ ¾î¼Àºí¸® ÇÁ·Î±×·¡¹Ö¿¡ À־ Á¦¹ý ±¦ÂúÀº Ãß»óÈ­ ¶ó°í ´ë¿ì¹Þ°í ÀÖ´Ù. ¾î¼Àºí¸µÀÇ °íÃæ¿¡¼­ ¸¹Àº ºÎºÐÀ» µé ¼öµµ ÀÖÀ» °ÍÀÌ´Ù. ±×¸®°í ÇÔ¼ö·Î ÀÎÀÚ¸¦ ·¹Áö½ºÅ͸¦ ÅëÇØ ³Ñ°ÜÁÖ´Â ¸î¸î ÃÖÀûÈ­´Â ¾î¼Àºí¸®¿¡¼­ ±× ÇÔ¼ö¸¦ ºÎ¸¦ ¶§ ºÎÀû´ç ÇÒ ¼öµµ ÀÖ´Ù. Àû¾îµµ ¿©·¯ºÐµéÀÌ ¾îÆ®¸®º× asmlinkage ¿¡°Ô ±×°ÍµéÀ» ÁÖ¾î¾ß ÇÑ´Ù. ¸®´ª½º Ä¿³Î ¼Ò½ºÀÇ ºÎºÐÀ» Âü°í ÇÒ ¼ö ÀÖ´Ù.

GAS

GAS´Â Àý´ë·Î ¸ÅÅ©·Î ±â´ÉÀ» Æ÷ÇÔÇÏ°í ÀÖÁö ¾Ê´Ù. ±×·¯³ª, GCC ¿Í °Ç³×Áö´Â .S ÆÄÀϵéÀº ±×°ÍµéÀÌ GAS¿¡°Ô °Ç³×Áö±â Àü¿¡ CPP¸¦ Åë ÇÒ ¼öµµ ÀÖ´Ù. .s ÆÄÀÏÀº Çϳª¸¦ »ý¼º½ÃÅ°°í ¹Ù·Î GAS¿¡°Ô·Î °Ç³×Áø´Ù. ´Ù½ÃÇѹø ¸»ÇÏÁö¸¸, ¿¹¸¦ º¼·Á¸é ¸®´ª½º ¼Ò½ºµéÀ» º¸¶ó.

GASP

º¸ÅëÀÇ °ÅÀÇ ¸ðµç ¸ÅÅ©·Î¾î¼Àºí¸®¸¦ GAS¿¡°Ô º¸ÅÄ´Ù. texinfo doc¸¦ º¸¶ó.

AS86

ÀÌ°ÍÀº °£´ÜÇÑ ¸ÅÅ©·Î¸¦ Á¦°øÇÑ´Ù. ³ª´Â docµéÀ» ¸øã¾Ò´Ù. ÀÌ ¼Ò½ºµéÀº ¾ÆÁÖ °£°áÇÏ°í ±ò²ûÇÏ´Ù. ¿©·¯ºÐµéÀÌ Èï¹Ì¸¦ °¡Áø´Ù¸é ±×°ÍµéÀ» ½±°Ô ÀÌÇØÇÒ ¼ö ÀÖÀ» °ÍÀÌ´Ù. Ãʺ¸ÀûÀÎ °Íº¸´Ù ´õ ¸¹ÀÌ ¾Ë°í ½Í´Ù¸é ¿ÜºÎÇÊÅ͸¦ ÀÌ¿ëÇÒ ¼ö ÀÖ´Ù. (¾Æ·¡ÀÇ 3.2 ºÎºÐÀ» º¸¶ó.)

´Ù¸¥ ¾î¼Àºí·¯µé

Win32FORTH: CODE ¿Í END-CODE´Â Çؼ³¸ðµå·ÎºÎÅÍ ¼±ÅÃÇÒ ¼ö ¾ø´Â ¸ÅÅ©·ÎÀÌ´Ù. ±×·¡¼­ ¾î¼Àºí¸µ µ¿¾ÈÀº FORTH ´Ü¾îÀÇ ¸ðµç °Íµé¿¡ Á¢±ÙÀ» ÇÒ ¼ö ÀÖÀ» °ÍÀÌ´Ù. NASM: ¾ÆÁ÷ ¸ÅÅ©·Î¸¦ Á¦°øÇÏÁö ¾Ê´Â´Ù. ¾Æ·¡ÀÇ ¿ÜºÎ ÇÊÅÍ ºÎºÐÀ» º¸¶ó. TUNES: À̰͵µ ¾ÆÁ÷ Á¦°øÇÏÁö´Â ¾Ê´Â´Ù. ±×·¯³ª Scheme¾ð¾î´Â ±âºÐ³»Å°´Â µ¥·ÎÀÇ ¸ÞŸ ÇÁ·Î±×·¡¹ÖÀ» Çã¿ëÇÏ´Â ÁøÁ¤ÇÑ °í±Þ¾ð¾îÀÌ´Ù.

¿ÜºÎ ÇÊÅÍ

¾î¼Àºí·¯¿¡¼­ ¾î¶² ¸ÅÅ©·Îµµ Á¦°øÀ» ÇÏ´øÁö, ¶Ç´Â ¿©·¯ºÐµéÀÌ ¾î¶² ¾ð¾î¸¦ »ç¿ëÇÑ´Ù°í ÇÏ´õ¶óµµ(C Á¶Â÷!) ±× ¾ð¾î´Â Ç¥ÇöÇÏ´Â µ¥ ÃæºÐÄ¡ ¾ÊÀ» °ÍÀÌ´Ù. ¿©·¯ºÐµéÀº Makefile ±ÔÄ¢À¸·Î ´ÙÀ½°ú °°ÀÌ ÆÄÀÏÀ» ¿ÜºÎÇÊÅ͸¦ ÅëÇØ °Ç³×ÁÙ ¼ö ÀÖ´Ù.

%.s:     %.S other_dependencies
         $(FILTER) $(FILTER_OPTIONS) < $< > $@

CPP

CPP ´Â Ç¥Çö·Â¿¡ À־ Á» ¾àÇÏÁö¸¸ ½¬¿î °Íµé¿¡´Â ÃæºÐÇÏ´Ù. ±×°ÍÀÌ Ç¥ÁØÀ̶ó¸é GCC¿¡ ÀÇÇØ ºÒ¸®¿ö Áú °ÍÀÌ´Ù. CPPÀÇ Á¦ÇÑµÈ Á¡¿¡¼­ º¸µíÀÌ, ¿ÀºêÁ§Æ®¸¦ ¼±¾ð ÇÒ ¼ö ¾øÀ¸¸ç, µû¶ó¼­ Æı«ÀÚ (destructors)´Â ÀÚµ¿ÀûÀ¸·Î ¼±¾ðºí·°ÀÇ ¸¶Áö¸·¿¡¼­ ÄݵȴÙ. ±×¸®°í µ¥ÀÌŸ³ª Äڵ带 ó¸®Çϱâ À§ÇØ ±×°ÍÀ» °øÅë ¼±¾ðÀ» ÇÒ ¼ö ¾ø´Ù. CPP´Â C ÄÄÆÄÀÏ·¯¿¡ µû¶ó¿Â´Ù. GCC´Â ¿©·¯ºÐµéÀÌ °¡Á®¿Ã ¼ö ÀÖ´Â ÀÚÀ¯·Î¿î C ÄÄÆÄÀÏ·¯ÀÌ´Ù.

M4

M4´Â ¸ÅÅ©·Î󸮿¡ À־ Ź¿ùÇÑ ´É·ÂÀ» º¸¿©ÁØ´Ù. Àç±ÍÀû Ç¥Çö, Áú¼­Á¤¿¬ÇÑ ±ÔÄ¢µî¿¡ À־ ±¦Âú¾Æ º¸ÀδÙ. CPP°¡ ÇÒ ¼ö ¾ø´Â ¸ðµç °ÍµéÀ» ±×°ÍÀ¸·Î ÇÒ ¼ö ÀÖ´Ù. macro4th/This4th ¸¦ ¾Æ·¡¿¡¼­ º¸¶ó. ftp.forth.org/pub/Forth/ in Reviewed/ ANS/ (?), ¶Ç´Â Tunes 0.0.0.25 ¼Ò½º¸¦ m4¸¦ »ç¿ëÇÏ´Â Áøº¸ÇÑ ¸ÅÅ©·Î ó¸®ÀÇ ¿¹Á¦·Î¼­ º¸´Â °Íµµ ±¦ÂúÀ» °ÍÀÌ´Ù. m4ÀÇ ¶óÀÌÆ®¹öÁ¯Àº GNU m4 1.4 (ÀÌ»ó)À¸·Î ±¸ÇÒ ¼ö ÀÖ´Ù.

ÇÊÅ͸¦ ÅëÇÑ ¸ÅÅ©·Î ó¸®

¿©·¯ºÐµéÀº °£´ÜÇÑ ¸ÅÅ©·Î È®Àå ÇÊÅ͸¦ ¾µ ¼ö ÀÖ´Ù. perl, awk, sed µîÀ» »ç¿ëÇÔÀ¸·Î½á °¡´ÉÇÏ´Ù. ÀÌ·¸°Ô ÇÏ´Â °ÍÀÌ ºü¸£¸ç, °ÅÀÇ ¸ðµç °ÍÀ» Á¦¾î ÇÒ ¼ö ÀÖÀ» °ÍÀÌ´Ù.

¸ÞŸ ÇÁ·Î±×·¡¹Ö

[»ý·«]


´ÙÀ½ ÀÌÀü Â÷·Ê