°³¶ËÀ̳׿¡¼­ ÆÇ¸ÅµÈ "LLVM Cookbook"     Á¤°¡ 30,000¿ø   Æò±ÕÇÒÀΰ¡
Ãß°¡ °Ë»ö Çϱâ
ÃÑ 2°³ÀÇ µµ¼­°¡ ÀÖ½À´Ï´Ù.
µµ¼­À̹ÌÁö µµ¼­¸í »óÅ °¡°Ý ÆǸÅÀÚ

LLVM Cookbook
»õÃ¥ 
27,000¿ø

¹«·á¹è¼Û
»õÃ¥Àü¹®Á¡
ÆǸŵµ¼­(360,129±Ç)

LLVM Cookbook
»õÃ¥ 
27,000¿ø

¹«·á¹è¼Û
Ã¥°¡¹æ
ÆǸŵµ¼­(328,774±Ç)
 

»ó¼¼Á¤º¸

1Àå. LLVM ¼³°è¿Í »ç¿ë¹ý
¼Ò°³
¸ðµâ ¼³°è ÀÌÇØ
Clang/LLVMÀ» ÀÌ¿ëÇÑ Å©·Î½ºÄÄÆÄÀϸµ
C ¼Ò½ºÄڵ带 LLVM ¾î¼Àºí¸®·Î º¯È¯
IRÀ» LLVM ºñÆ®ÄÚµå·Î º¯È¯
LLVM ºñÆ®Äڵ带 Ÿ°Ù ¸Ó½Å ¾î¼Àºí¸®·Î º¯È¯
LLVM ºñÆ®Äڵ带 LLVM ¾î¼Àºí¸®·Î ¿ªº¯È¯
LLVM IR º¯È¯
LLVM ºñÆ®ÄÚµå ¸µÅ·
LLVM ºñÆ®ÄÚµå ½ÇÇà
C ÇÁ·ÐÆ®¿£µå Clang »ç¿ë
GO ÇÁ·ÐÆ®¿£µå »ç¿ë
µå·¡°ï¿¡±× »ç¿ë

2Àå. ÇÁ·ÐÆ®¿£µå ÀÛ¼º ´Ü°è
¼Ò°³
TOY ¾ð¾î Á¤ÀÇ
·º¼­ ±¸Çö ¹æ¹ý
Ãß»ó ±¸¹® Æ®¸® Á¤ÀÇ
Æļ­ ±¸Çö
´Ü¼ø Ç¥Çö½ÄÀÇ ÆĽÌ
ÀÌÇ× Ç¥Çö½ÄÀÇ ÆĽÌ
ÆĽÌÀ» À§ÇÑ µå¶óÀ̹ö Àû¿ë
TOY ¾ð¾î ´ë»ó ·º¼­ ½ÇÇà
°¢ Ãß»ó ±¸¹® Æ®¸® Ŭ·¡½º¸¦ À§ÇÑ IR ÄÚµå »ý¼º ±â¹ý Á¤ÀÇ
Ç¥Çö½ÄÀ» À§ÇÑ IRÄÚµå »ý¼º
ÇÔ¼ö¸¦ À§ÇÑ IR ÄÚµå »ý¼º
IR ÄÚµå ÃÖÀûÈ­ ±â´É Ãß°¡

3Àå. ÇÁ·ÐÆ®¿£µå È®Àå°ú JIT ÄÄÆÄÀÏ Ãß°¡
¼Ò°³
Á¶°Ç¹® ÄÚµå »ý¼º- if/then/else
¹Ýº¹¹® ÄÚµå »ý¼º
»ç¿ëÀÚ Á¤ÀÇ ¿¬»êÀÚ- ÀÌÇ× ¿¬»êÀÚ
»ç¿ëÀÚ Á¤ÀÇ ¿¬»êÀÚ- ´ÜÇ× ¿¬»êÀÚ
JIT ÄÄÆÄÀÏ Ãß°¡

4Àå. ÃÖÀûÈ­ Áغñ
¼Ò°³
ÃÖÀûÈ­ÀÇ ´Ù¾çÇÑ ·¹º§
LLVM Æнº ±¸Çö
opt Åø·Î ±¸ÇöÇÑ Æнº ½ÇÇà
»õ·Î¿î Æнº¿¡¼­ ´Ù¸¥ Æнº »ç¿ë
Æнº ¸Å´ÏÀú¿¡ Æнº µî·Ï
ºÐ¼® Æнº ±¸Çö
¿¡Àϸ®¾î½º ºÐ¼® Æнº ±¸Çö
´Ù¸¥ ºÐ¼® Æнº »ç¿ë

5Àå. ÃÖÀûÈ­ ±¸Çö
¼Ò°³
Á×Àº ÄÚµå Á¦°Å Æнº
ÀζóÀÎ º¯È¯ Æнº ÀÛ¼º
¸Þ¸ð¸® ÃÖÀûÈ­ Æнº ÀÛ¼º
LLVM IR º´ÇÕ
¹Ýº¹¹® º¯È¯°ú ÃÖÀûÈ­
Ç¥Çö½Ä Àç¹èÄ¡
IR º¤ÅÍÈ­
±âŸ ÃÖÀûÈ­ Æнº

6Àå. Ÿ°Ù µ¶¸³Àû ÄÚµå »ý¼º±â
¼Ò°³
LLVM IRÀÇ »ý¸íÁÖ±â
GraphViz¸¦ ÀÌ¿ëÇÑ LLVM IR Á¦¾î È帧 ±×·¡ÇÁ ½Ã°¢È­
TableGenÀ» ÀÌ¿ëÇÑ Å¸°Ù ÁöÁ¤
¸í·É¾î ÁýÇÕ Á¤ÀÇ
¸Ó½Å ÄÚµå µð½ºÅ©¸³ÅÍ Ãß°¡
MachineInstrBuilder Ŭ·¡½º ±¸Çö
MachineBasicBlock Ŭ·¡½º ±¸Çö
MachineFunction Ŭ·¡½º ±¸Çö
¸í·É¾î ¼±ÅÃÀÚ ÀÛ¼º
SelectionDAG ±³Á¤
SelectionDAG ÃÖÀûÈ­
DAG¿¡¼­ ¸í·É¾î ¼±ÅÃ
SelectionDAG¿¡¼­ ¸í·É¾î ½ºÄÉÁÙ¸µ

7Àå. ¸Ó½Å ÄÚµå ÃÖÀûÈ­
¼Ò°³
¸Ó½Å ÄÚµåÀÇ °øÅëºÎºÐ Ç¥Çö½Ä Á¦°Å
À¯È¿ ±¸°£ ºÐ¼®
·¹Áö½ºÅÍ ÇÒ´ç
ÇÁ·Ñ·Î±×-¿¡ÇÊ·Î±× ÄÚµå »ðÀÔ
ÄÚµå »ý¼º
²¿¸® È£Ãâ ÃÖÀûÈ­
ÇüÁ¦ È£Ãâ ÃÖÀûÈ­

8Àå. LLVM ¹é¿£µå ÀÛ¼º
¼Ò°³
·¹Áö½ºÅÍ¿Í ·¹Áö½ºÅÍ ÁýÇÕ Á¤ÀÇ
È£Ãâ ±Ô¾à Á¤ÀÇ
¸í·É¾î ÁýÇÕ Á¤ÀÇ
ÇÁ·¹ÀÓ Àú¼öÁØÈ­ ±¸Çö
¸í·É¾î Ãâ·Â
¸í·É¾î ¼±ÅÃ
¸í·É¾î ÀÎÄÚµù Ãß°¡
º¸Á¶ Ÿ°Ù Áö¿ø
´ÙÁß ¸í·É¾î·Î Àú¼öÁØÈ­
Ÿ°Ù µî·Ï

9Àå. ´Ù¾çÇÑ ÇÁ·ÎÁ§Æ®¿¡¼­ÀÇ LLVM È°¿ë
¼Ò°³
LLVMÀÇ ¿¹¿Ü ó¸®
Sanitizer »ç¿ë ¹æ¹ý
LLVMÀ¸·Î °¡ºñÁö Ä÷ºÅÍ ÀÛ¼º
LLVM IRÀ» ÀÚ¹Ù½ºÅ©¸³Æ®·Î º¯È¯
Clang Á¤Àû ºÐ¼®±âÀÇ »ç¿ë
bugpoint »ç¿ë
LLDB »ç¿ë
LLVM À¯Æ¿¸®Æ¼ Æнº »ç¿ë

[ÀÌ Ã¥¿¡¼­ ´Ù·ç´Â ³»¿ë]
- LLVMÀÇ ¸ðµâ½Ä µðÀÚÀΰú LLVM µµ±¸ ¼Ò°³
- ¾ð¾î¿¡ ´ëÇÑ ÇÁ·ÐÆ®¿£µå ÀÛ¼º
- JIT ±â´É Ãß°¡ ¹× ¿©·¯ ¾ð¾îÀÇ ÇÁ·ÐÆ®¿£µå »ç¿ë
- LLVM Æнº ±¸Á¶ ¹× LLVM Æнº ¸Å´ÏÀú ÀÌÇØ
- ºÐ¼® Æнº °³¹ß ¹× ÃÖÀûÈ­ Æнº º¯È¯
- TOY ¾ð¾î·Î LLVM ¹é¿£µå ±¸Çö
- Selection DAG ´Ü°è¿¡¼­ ÄÚµå ÃÖÀûÈ­ ¹× º¯¼ö ·¹Áö½ºÅÍ ÇÒ´ç

[ÀÌ Ã¥ÀÇ ´ë»ó µ¶ÀÚ]
ÄÄÆÄÀÏ·¯ °³³ä¿¡ Àͼ÷ÇÏ°í LLVM ±â¹Ý ±¸Á¶¸¦ ÀÌÇØÇÏ°í ŽÇèÇϱ⸦ ¿øÇϸç, ¾÷¹«¿¡ È°¿ëÇÏ°íÀÚ ÇÏ´Â ÄÄÆÄÀÏ·¯ ¿£Áö´Ï¾î¸¦ À§ÇÑ °ÍÀÌ´Ù.
¶ÇÇÑ ÄÄÆÄÀÏ·¯¿Í Á÷Á¢ ¿¬°üÀº ¾øÁö¸¸ ¼öõ ¶óÀÎÀÇ Äڵ带 ÀÛ¼ºÇÏ´Â ÇÁ·Î±×·¡¸Ó¸¦ À§ÇÑ Ã¥À̱⵵ ÇÏ´Ù. ÄÄÆÄÀÏ·¯ µ¿ÀÛ ¹æ½Ä¿¡ ´ëÇÑ Áö½ÄÀ» ¹ÙÅÁÀ¸·Î ÃÖÀûÈ­µÈ Äڵ带 ÀÛ¼ºÇØ °í¼º´ÉÀÇ ±ò²ûÇÑ ÇÁ·Î±×·¥À» °³¹ßÇÒ ¼ö ÀÖ´Ù.

[ÀÌ Ã¥ÀÇ ±¸¼º]
1Àå, 'LLVM ¼³°è¿Í »ç¿ë¹ý'¿¡¼­´Â LLVM°ú Clang¸¦ ´Ù¿î·ÎµåÇØ ¼³Ä¡ÇÏ´Â ¹æ¹ý°ú LLVM ³»ºÎ µ¿ÀÛ°ú °ü·ÃµÈ ¿©·¯ ¿¹Á¦¸¦ ÅëÇØ LLVMÀÇ ¸ðµâ ±¸Á¶¿¡ ´ëÇØ ¼³¸íÇÑ´Ù. ¶ÇÇÑ ÇÁ·ÐÆ®¿£µå¿¡ °ü·ÃµÈ ´Ù¾çÇÑ ¿¹Á¦¸¦ ´Ù·é´Ù.
2Àå, 'ÇÁ·ÐÆ®¿£µå ÀÛ¼º ´Ü°è'¿¡¼­´Â ÇÁ·Î±×·¡¹Ö ¾ð¾îÀÇ ÇÁ·ÐÆ®¿£µå ±¸Çö ¹æ¹ýÀ» ¼³¸íÇÑ´Ù. TOY ¾ð¾î¸¦ À§ÇØ ÇÏÀ§ ´Ü°èºÎÅÍ °£´ÜÇÑ ÄÄÆÄÀÏ·¯ ÇÁ·ÐÆ®¿£µå¸¦ ¸¸µé¸ç, À̸¦ ÅëÇØ ÇÁ·ÐÆ®¿£µå ¾ð¾î°¡ LLVM IR·Î º¯È¯µÇ´Â °úÁ¤À» ´«À¸·Î È®ÀÎÇغ»´Ù.
3Àå, 'ÇÁ·ÐÆ®¿£µå È®Àå°ú JIT ÄÄÆÄÀÏ Ãß°¡'¿¡¼­´Â TOY ¾ð¾îÀÇ °í±Þ ±â´ÉÀ» »ìÆ캸°í ÇÁ·ÐÆ®¿£µå¿¡ JIT ÄÄÆÄÀÏ ±â´ÉÀ» Ãß°¡ÇÑ´Ù. ´ëºÎºÐÀÇ Çö´ë ÇÁ·Î±×·¡¹Ö ¾ð¾î¿¡¼­ ãÀ» ¼ö ÀÖ´Â °­·ÂÇÑ ±â´ÉÀ» ±¸ÇöÇÑ´Ù.
4Àå, 'ÃÖÀûÈ­ Áغñ'¿¡¼­´Â LLVM IRÀÇ Æнº ±â¹Ý ±¸Á¶¸¦ ´Ù·é´Ù. ´Ù¾çÇÑ ÃÖÀûÈ­ ´Ü°è¸¦ ŽÇèÇÏ°í, °¢ ´Ü°è¿¡¼­ ¾î¶² ÃÖÀûÈ­ ±â¼úÀÌ Àû¿ëµÇ´ÂÁö »ìÆ캻´Ù. LLVM Æнº¸¦ ½º½º·Î ÀÛ¼ºÇÒ ¼ö ÀÖ°Ô ´Ü°èº°·Î ¼³¸íÇÑ´Ù.
5Àå, 'ÃÖÀûÈ­ ±¸Çö'¿¡¼­´Â ÈçÈ÷ »ç¿ëµÇ´Â LLVM IR¿¡ ´ëÇÑ ´Ù¾çÇÑ ÃÖÀûÈ­ Æнº ±¸Çö ¹æ¹ýÀ» ¼³¸íÇÑ´Ù. ¶ÇÇÑ ¾ÆÁ÷ LLVM ¿ÀǼҽº Äڵ忡 °ø°³µÇÁö ¾ÊÀº º¤ÅÍÈ­ ±â¼ú °ü·Ã ³»¿ëµµ »ìÆ캻´Ù.
6Àå, 'Ÿ°Ù µ¶¸³Àû ÄÚµå »ý¼º±â'¿¡¼­´Â Ÿ°Ù µ¶¸³Àû ÄÚµå »ý¼º±âÀÇ Ãß»óÀûÀÎ ±â¹Ý ±¸Á¶¿¡ ´ëÇØ ¼³¸íÇÑ´Ù. LLVM IRÀÌ ÃÖÁ¾ÀûÀ¸·Î ±â°è Äڵ带 »ý¼ºÇϱâ À§ÇØ »ç¿ëÇÏ´Â Selection DAG·Î ¾î¶»°Ô º¯È¯µÇ´ÂÁöµµ »ìÆ캻´Ù.
7Àå, '¸Ó½Å ÄÚµå ÃÖÀûÈ­'¿¡¼­´Â Selection DAG°¡ ¾î¶»°Ô ÃÖÀûÈ­µÇ°í Ÿ°Ù ·¹Áö½ºÅÍ°¡ ¾î¶»°Ô º¯¼ö¿¡ ÇÒ´çµÇ´ÂÁö »ìÆ캻´Ù. ¶ÇÇÑ Selection DAGÀÇ ÃÖÀûÈ­¿Í ¿©Å¸ ·¹Áö½ºÅÍ ÇÒ´ç ±â¼ú¿¡ ´ëÇؼ­µµ ¼³¸íÇÑ´Ù.
8Àå, 'LLVM ¹é¿£µå ÀÛ¼º'¿¡¼­´Â ·¹Áö½ºÅÍ¿Í ¸í·É¾î ÁýÇÕ, È£Ãâ ±Ô¾à, ÀÎÄÚµù, º¸Á¶ Ÿ°Ù ±â´É µî Ÿ°Ù ¾ÆÅ°ÅØó¸¦ Ç¥ÇöÇÏ´Â ¹æ¹ýÀ» ¼³¸íÇÑ´Ù.
9Àå, '´Ù¾çÇÑ ÇÁ·ÎÁ§Æ®¿¡¼­ÀÇ LLVM È°¿ë'¿¡¼­´Â LLVM IR ±â¹Ý ±¸Á¶¸¦ »ç¿ëÇÒ ¼ö ÀÖ´Â ´Ù¾çÇÑ ÇÁ·ÎÁ§Æ®¸¦ »ìÆ캻´Ù. LLVMÀº ´Ü¼øÇÑ ÄÄÆÄÀÏ·¯°¡ ¾Æ´Ï¶ó ÄÄÆÄÀÏ·¯ ±â¹Ý ±¸Á¶´Ù. ÄÚµå Á¶°¢µé¿¡ Àû¿ëÇÒ ¼ö ÀÖ´Â ´Ù¾çÇÑ ÇÁ·ÎÁ§Æ®¸¦ »ìÆ캸°í À¯¿ëÇÑ Á¤º¸¸¦ ¾ò´Â °ÍÀÌ 9ÀåÀÇ ¸ñÇ¥´Ù.

[ÁöÀºÀÌÀÇ ¸»]
ÇÁ·Î±×·¡¸Ó¶ó¸é ÇÁ·Î±×·¡¹ÖÇϸ鼭 ÄÄÆÄÀÏ·¯¸¦ Á¢ÇغÃÀ» °ÍÀÌ´Ù. ÄÄÆÄÀÏ·¯¶õ ½±°Ô ¼³¸íÇÏ¸é »ç¶÷ÀÌ ÀÌÇØÇÒ ¼ö ÀÖ´Â ÇüÅÂÀÇ °í¼öÁØ Äڵ带 ±â°è°¡ ÀÌÇØÇÒ ¼ö ÀÖ´Â ÇüÅÂÀÇ Àú¼öÁØ ÄÚµå·Î º¯È¯ÇØÁÖ´Â ÇÁ·Î±×·¥ÀÌ´Ù. ÄÄÆÄÀÏ·¯°¡ ¾î¶»°Ô µ¿ÀÛÇÏ´ÂÁö ³»ºÎ ±¸Á¶¿¡ Àǹ®À» °¡Á®º» ÀûÀÌ Àִ°¡? ÄÄÆÄÀÏ·¯´Â ÃÖÀûÈ­µÈ ±â°è¾î Äڵ带 »ý¼ºÇس»±â À§ÇØ ¼ö¸¹Àº ÀÛ¾÷À» ¼öÇàÇϸç, ÁÁÀº ÄÄÆÄÀÏ·¯¸¦ ±¸ÇöÇÏ·Á¸é º¹ÀâÇÑ ¾Ë°í¸®ÁòÀÌ ¸¹ÀÌ ÇÊ¿äÇÏ´Ù.
ÀÌ Ã¥Àº ÄÄÆÄÀÏ °úÁ¤ÀÎ ÇÁ·ÐÆ®¿£µå, ÄÚµå ÃÖÀûÈ­, ÄÚµå »ý¼º µî ¸ðµç ´Ü°è¸¦ ´Ù·ç´Âµ¥, ´Ü¼øÇÑ ±â¹Ý ±¸Á¶¸¦ °¡Áø LLVMÀÌ °¢ ÄÄÆÄÀÏ ´Ü°è¸¦ ÇнÀÇÏ´Â µ¥ ÀûÇÕÇÏ´Ù. LLVMÀº ¿©·¯ ¸ðµâ°ú °èÃþÀ¸·Î ³ª´²Á® ÀÖÀ¸¸ç ¸ðµç ÄÄÆÄÀÏ·¯ ±â´ÉµéÀÌ µ¶¸³ÀûÀ¸·Î ±¸ÇöµÅ ÀÖ´Ù. ¶ÇÇÑ °´Ã¼ÁöÇâ ¾ð¾îÀÎ C++·Î ±¸ÇöµÆÀ¸¸ç, ÇÁ·Î±×·¡¸Ó¿¡°Ô ´Ü¼øÇÑ ÀÎÅÍÆäÀ̽º¿Í ¼ö¸¹Àº API¸¦ Á¦°øÇØ µ¶ÀÚÀûÀÎ ÄÄÆÄÀÏ·¯¸¦ ±¸ÇöÇϱ⠽±°Ô ÇØÁØ´Ù.
º¹ÀâÇÑ ¼Ö·ç¼Çº¸´Ù´Â ´Ü¼øÇÑ ¼Ö·ç¼ÇÀ» ¿©·¯ ¹ø ´Ù·ç´Â °ÍÀÌ ³ªÀ» °ÍÀÌ´Ù. ÀÌ Ã¥¿¡¼­´Â ¸ðµç ÄÄÆÄÀÏ ¿É¼ÇÀ» °í·ÁÇÏ°í ´Ü¼øÈ÷ Äڵ带 ÄÄÆÄÀÏÇÏ´Â °Í ÀÌ»óÀÇ °ÍÀ» ÀÌÇØÇÒ ¼ö ÀÖµµ·Ï º¸¿©ÁÜÀ¸·Î½á µ¶ÀÚÀÇ ½Ç·Â Çâ»ó¿¡ µµ¿òÀÌ µÇ´Â ´Ù¾çÇÑ ¿¹Á¦¸¦ ´Ù·é´Ù.
¶ÇÇÑ ÄÄÆÄÀÏ·¯ °³¹ß°ú °ü·ÃÀÌ ¾ø´Â °³¹ßÀÚ¶ó ÇÒÁö¶óµµ ÀÌ Ã¥À» ÅëÇØ ¸¹Àº °ÍÀ» ¾òÀ» ¼ö ÀÖ´Ù°í ¹Ï´Â´Ù. ÄÄÆÄÀÏ·¯ ±¸Çö¿¡ ´ëÇÑ ÀÌÇØ´Â ÃÖÀûÈ­µÈ Äڵ带 © ¼ö ÀÖ°Ô µµ¿ÍÁÙ °ÍÀÌ´Ù.
Ã¥¿¡¼­ ´Ù·ç´Â ¿¹Á¦µéÀÌ À¯ÀÍÇÏ´Ù°í »ý°¢ÇÏ±æ ¹Ù¶ó¸ç, ÀÌ ¿¹Á¦µéÀ» ÇнÀÇÑ µÚ¿¡´Â ½º½º·Î ÄÄÆÄÀÏ·¯¸¦ ¸¸µé ¼ö ÀÖÀ» °ÍÀÌ´Ù.

[¿Å±äÀÌÀÇ ¸»]
ÄÄÆÄÀÏ·¯´Â ¼ÒÇÁÆ®¿þ¾î °³¹ßÀÚ¶ó¸é ´©±¸³ª ¸ÅÀÏ »ç¿ëÇÏ´Â µµ±¸Áö¸¸, ½ÇÁ¦ ³»ºÎ°¡ ¾î¶»°Ô µ¿ÀÛÇÏ´ÂÁö ¾Æ´Â °³¹ßÀÚ´Â ±×¸® ¸¹Áö ¾Ê´Ù. °ú°Å¿£ ¿ÀǼҽº ÄÄÆÄÀÏ·¯ÀÎ GCC, ¸¶ÀÌÅ©·Î¼ÒÇÁÆ®¿¡¼­ °³¹ßÇÏ´Â MSVC¸¦ ¸¹ÀÌ »ç¿ëÇßÁö¸¸, ÃÖ±Ù¿¡´Â LLVMÀÌ °ü½ÉÀ» ¸¹ÀÌ ¹Þ°í ÀÖ°í ƯÈ÷ ¿¢½ºÄÚµå(XCode)°¡ LLVMÀ» ±âº» ÄÄÆÄÀÏ·¯·Î äÅÃÇϸ鼭 LLVMÀ¸·Î ºôµåÇÏ´Â »ó¿ë ¾ÖÇø®ÄÉÀ̼ÇÀÌ ¸¹¾ÆÁ³´Ù. LLVMÀº ´õ ³ª¾Æ°¡ FreeBSD ¿î¿µÃ¼Á¦¸¦ ºôµåÇÒ ¶§µµ ¾²ÀδÙ. ÀÌ·¸µí LLVMÀÇ ÀαⰡ ³ô¾ÆÁö¸é¼­ LLVMÀ» Á¦¿ÜÇÏ°í´Â ÄÄÆÄÀÏ·¯¸¦ ³íÇÒ ¼ö ¾ø°Ô µÆ´Ù.
Àϸ®³ëÀÌ ´ëÇÐÀÇ ¿¬±¸ ÁÖÁ¦·Î ½ÃÀÛÇÑ LLVMÀº Àç»ç¿ëÀÌ °¡´ÉÇÑ ÄÚ¾î ¶óÀ̺귯¸®, ÇÁ·ÐÆ®¿£µå, ¸µÄ¿ µî ÄÄÆÄÀÏ·¯ ¹× ÅøüÀÎÀÇ ÁýÇÕÀÌ´Ù. ÄÄÆÄÀÏ·¯ÀÇ ±¸¼º ¿ä¼ÒµéÀÌ ¸ðµÎ ¸ðµâÈ­µÅ Àִٴ Ư¡ ¶§¹®¿¡ LLVM ¸ðµâµéÀ» »ç¿ëÇÑ ´Ù¾çÇÑ ÇÁ·ÎÁ§Æ®µéÀÌ È°¹ßÇÏ°Ô °³¹ßµÇ°í ÀÖ´Ù. C/C++, ¿ÀºêÁ§Æ¼ºê C(Objective-C) µî ¼¿ ¼ö ¾ø´Â ÇÁ·Î±×·¡¹Ö ¾ð¾îµéÀ» Áö¿øÇÒ »Ó¸¸ ¾Æ´Ï¶ó µð½º¾î¼Àºí·¯, ¿¡¹Ä·¹ÀÌÅÍÀÇ ÄÚ¾î ¿ªÇÒÀ» Çϱ⵵ ÇÑ´Ù.
ÀÌ Ã¥Àº LLVM ÄÄÆÄÀÏ·¯ »ç¿ë ±âÃʺÎÅÍ Áß°£ ¾ð¾î, ÃÖÀûÈ­ °úÁ¤±îÁö ºüÁü¾øÀÌ ´Ù·é´Ù. °ü·Ã ÄÄÆÄÀÏ·¯ À̷еµ ÃæºÐÈ÷ ¼³¸íÇÔÀ¸·Î½á ÄÄÆÄÀÏ·¯ À̷п¡ ´ëÇÑ ÀÌÇØ°¡ ºÎÁ·ÇÑ µ¶Àڵ鵵 ³»¿ëÀ» ¼ÒÈ­ÇÒ ¼ö ÀÖµµ·Ï Ã¥À» ±¸¼ºÇß´Ù. ÄÄÆÄÀÏ·¯¸¦ °øºÎÇÔÀ¸·Î½á µ¶ÀÚÀûÀÎ ÄÄÆÄÀÏ·¯¸¦ ¸¸µé°Ú´Ù´Â °ÅâÇÑ ¸ñÇ¥¸¦ ÀÌ·çÁö ¸øÇÏ´õ¶óµµ, Æò¼Ò¿¡ ÀÛ¼ºÇÏ´Â Äڵ带 ÄÄÆÄÀÏ·¯´Â ³»ºÎÀûÀ¸·Î ¾î¶»°Ô Çؼ®ÇÏ°í ÃÖÀûÈ­ÇÏ´ÂÁö °¨À» ÀâÀ» ¼ö ÀÖ´Â ÁÁÀº ±âȸ°¡ µÉ °ÍÀÌ´Ù.
 

¼­Æòº¸±â

´ÜÇົ BEST µµ¼­

³ªÀǼîÇÎ

  • Ä«µå³»¿ªÁ¶È¸
  • ¸¸Á·µµº¸±â
  • ÆǸÅÀÚº¸±â

ÃÖ±Ùº»»óÇ°

Àå¹Ù±¸´Ï

TOP