¸®´ª½º ȯ°æ¿¡¼­ÀÇ C ÇÁ·Î±×·¡¹Ö - 12Àå ¸ðµâ°ú ¶óÀ̺귯¸®
ÃÑ ÆäÀÌÁö ¼ö : 3224

Àüü ÇÔ¼ö/¿ë¾î»çÀü
Facebook Joinc ±×·ì   Joinc QA »çÀÌÆ®



joinc´Â Firefox¿Í chrome¿¡¼­ Å×½ºÆ® Çß½À´Ï´Ù. IE¿¡¼­´Â Å×À̺íÀÌ ±úÁö°Å³ª À̹ÌÁö°¡ º¸ÀÌÁö ¾ÊÀ» ¼ö ÀÖ½À´Ï´Ù. ƯÈ÷ ±¸±Û DocsÀ̹ÌÁöÀÇ °æ¿ì ¿¢¹Úó¸®µÉ ¼ö ÀÖ½À´Ï´Ù.

Hello World ´Ù½Ã º¸±â

hello world ÇÁ·Î±×·¥À» ´Ù½Ã Çѹø º¸±â·Î ÇÏÀÚ.

#include <stdio.h> 
 
int main(int argc, char **argv) 
{ 
    printf("Hello World!!!\n"); 
    return 1; 
} 
 
À§ ÇÁ·Î±×·¥À» ÀÚ¼¼È÷ ¶â¾îº¸¸é, #include¹®ÀÌ º¸ÀÏ °ÍÀÌ´Ù. À̰ÍÀÌ ¾îµð¿¡ ¾²´Â ¹°°ÇÀÎÁö ÀÚ¼¼È÷ ¾Ë¾Æº¸µµ·Ï ÇÒ °ÍÀÌ´Ù. ¿ì¸®´Â 7Àå ÇÔ¼öÆí¿¡¼­ ÇÔ¼ö¿¡ ´ëÇØ¼­ ´Ù·ç¾ú´Ù. À̸¦ ÅëÇØ¼­ ¿ì¸®´Â ÇÔ¼ö¸¦ »ç¿ëÇϱâ À§Çؼ­´Â ÇÔ¼ö¼±¾ð°ú ÇÔ¼ö¿øÇüÀÌ ÇÊ¿äÇÏ´Ù´Â °ÍÀ» ¾Ë°Ô µÇ¾ú´Ù. ÇÔ¼ö¸¦ »ç¿ëÇÏ´Â ÀÌÀ¯´Â Áߺ¹µÇ´Â Äڵ带 µû·Î ¹­¾î µÒÀ¸·Î½á, ÄÚµå°ü¸®¸¦ ½±°Ô Çϱâ À§ÇÔÀ̶ó´Â °Íµµ ¿ª½Ã ¾Ë°í ÀÖ´Ù. ÇÏÁö¸¸ ÆíÇϰÚÁö¶ó°í¸¸ ¾Ë°í ÀÖÀ» »Ó, ½ÇÁ¦ ¾î¶»°Ô ÆíÇÏ°Ô »ç¿ëµÇ´ÂÁö´Â °æÇèÀ» ÇØº¸Áø ¸øÇß´Ù.

ÀÚ.. ¿ì¸®´Â ÇÔ¼ö¶ó´Â °ÍÀ» ¾Ë°í ÀÖ´Ù. ±×·¸´Ù¸é ¾î¶»°Ô ÇØ¾ß ÇÔ¼ö¸¦ ´õ ÆíÇÏ°Ô »ç¿ëÇÒ ¼ö ÀÖÀ»±î. ´äÀº ÇÔ¼ö¸¦ À§ÇÑ Äڵ带 µû·Î ºÐ¸®½ÃŲ´Ù ÀÌ´Ù. À§ÀÇ Hello World ÇÁ·Î±×·¥Àº ÀÌ·¯ÇÑ ÀüÇüÀûÀÎ ¸ð½ÀÀ» º¸¿©ÁÖ°í ÀÖ´Ù. printf ÇÔ¼ö´Â °ÅÀÇ ¸ðµç ÇÁ·Î±×·¥¿¡¼­ ÇʼöÀûÀ¸·Î »ç¿ëµÇ´Â ÇÔ¼ö´Ù. ÀÌ·± Äڵ带 »ç¿ëÀÚ°¡ ÇÊ¿äÇÒ¶§ ¸¶´Ù ÀÏÀÏÀÌ »ç¿ëÇÏ´Â°Ç ¿©°£ ±ÍÂúÀºÀÏÀÌ ¾Æ´Ò °ÍÀÌ´Ù. ±×·¸´Ù¸é printf ÇÔ¼ö¸¦ º°µµÀÇ ÄÚµå·Î ¸¸µé¾î¼­, ¸ðµâÇüÅ·Π¸¸µé¾î µÎ¸é µÉ°ÍÀÌ´Ù. ±×·¡¼­ printf ÇÔ¼ö°¡ ÇÊ¿äÇÒ ¶§, °¡Á®´Ù ¾²±â¸¸ ÇÏ¸é µÈ´Ù.

±×·±µ¥, ÄÄÆÄÀÏ·¯´Â printf ÇÔ¼ö°¡ ¾î¶² ¸ð½ÀÀ» °¡Áö´ÂÁö ¾Ë ¼ö°¡ ¾ø´Ù. ±×·¯´Ï±î ¸®ÅϰªÀÌ ¹«¾ùÀ̰í, ÀÎÀÚ·Î ¹«¾ùÀÌ »ç¿ëµÇ´Â Áö¸¦ ¾Ë ¼ö°¡ ¾ø´Ù´Â ¾ê±â°¡ µÈ´Ù. ±×·¯¹Ç·Î ÄÄÆÄÀÏ·¯¿¡°Ô printf ÇÔ¼öÀÇ Á¤º¸¸¦ ¾Ë·ÁÁÙ ¼ö ÀÖ¾î¾ß ÇÑ´Ù. ±×°Ô #include ¹®ÀÌ ÇÏ´Â ÀÏÀÌ´Ù. stdio.h´Â Ç¥ÁØÀÔÃâ·Â°ú °ü·ÃµÈ ÇÔ¼öÀÇ Á¤º¸°¡ µé¾îÀÖ´Â ÆÄÀÏ·Î Çì´õÆÄÀÏÀ̶ó°í ºÎ¸¥´Ù. ÀÌ Çì´õÆÄÀÏ¿¡´Â printf ÇÔ¼ö°¡ ¼±¾ðµÇ¾î ÀÖ´Ù. stdio.h Çì´õÆÄÀÏÀº /usr/include µð·ºÅ丮 ¹Ø¿¡ Á¸ÀçÇÑ´Ù.

ÀÌÁ¦ ¿ì¸®´Â stdio.h ¸¸À» include ½ÃÅ´À¸·Î½á, ¾î´À Äڵ忡¼­µçÁö °£´ÜÇÏ°Ô printf ÇÔ¼ö¸¦ »ç¿ëÇÒ ¼ö ÀÖ°Ô µÈ´Ù.

ÄÄÆÄÀÏ °úÁ¤

ÀÌÁ¦ À§ÀÇ hello world ÇÁ·Î±×·¥ÀÌ ¾î¶»°Ô ÄÄÆÄÀÏÀÌ µÇ´ÂÁö ¾Ë¾Æº¸µµ·Ï ÇÏÀÚ. ÇÁ·Î±×·¥ÀÇ À̸§Àº hello.c ÀÌ´Ù.
  1. ÄÄÆÄÀÏ·¯´Â hello.c ÇÁ·Î±×·¥À» ÀÐ¾î µéÀδÙ.
  2. hello.c Äڵ带 ÇØ¼®Çؼ­, ±â°è¾î ÇüÅÂÀÇ object ÆÄÀÏ·Î ¸¸µç´Ù. object ÆÄÀÏÀº ÄÄÇ»ÅͰ¡ ÇØ¼®ÇÒ ¼ö ÀÖ´Â ´ÜÀ§ ¸ðµâÀÌ´Ù.
  3. ¿©±â¿¡ printf ÇÔ¼ö°¡ Á¤ÀǵǾî ÀÖ´Â ÀÌ¹Ì ¸¸µé¾îÁ® ÀÖ´Â object ÆÄÀϰú hello object ÆÄÀÏÀ» ¼­·Î ¸µÅ©(¿¬°á)ÇÑ´Ù.
  4. ¿ÏÀüÇÑ ½ÇÇà ÆÄÀÏÀÌ ¸¸µé¾î Áø´Ù.

µ¡¼À ÇÔ¼ö¸¦ °¡Áø ÇÁ·Î±×·¥

±×·³ µ¡¼À ÇÔ¼ö¸¦ °¡Áø °è»ê±â ÇÁ·Î±×·¥À» ¸¸µé¾î¼­, ¸ðµâº°·Î ÀÛ¼ºÇϰí À̰͵éÀ» object ÆÄÀÏ·Î ¸¸µé¾î¼­ link ½ÃÄѼ­ ½ÇÇàÆÄÀÏÀ» ¸¸µå´Â ¹æ¹ý¿¡ ´ëÇØ¼­ ¾Ë¾Æº¸µµ·Ï ÇϰڴÙ.

¸ðµâº°·Î ÀÛ¼ºÇÏÁö ¾Ê°í, ÇϳªÀÇ ÆÄÀÏ·Î ÀÌ·ç¾îÁø ÇÁ·Î±×·¥Àº ¾Æ·¡¿Í °°ÀÌ ÀÛ¼ºÇÒ ¼ö ÀÖÀ» °ÍÀÌ´Ù.
#include <stdio.h> 
int sum(int a, int b); 
int main(int argc, char **argv) 
{ 
    int value; 
    value = sum(120, 199); 
    printf("%d\n", value); 
} 
int sum(int a, int b) 
{ 
    return a+b; 
} 
 
¾ÆÁÖ °£´ÜÇÏ¸ç ¹®Á¦¾øÀÌ ÀÛ¼ºµÉ °ÍÀÌ´Ù. ¶ÇÇÑ µ¡¼ÀÀ» À§ÇÑ sum À̶ó´Â ÇÔ¼ö¸¦ ¸¸µé¾úÀ¸´Ï, ÀÌÈÄ µ¡¼À°è»êÀÌ ÇÊ¿äÇÒ ¶§ ¸¶´Ù, ±×³É sum ÇÔ¼ö¸¦ ±×´ë·Î ¾²±â¸¸ ÇÏ¸é µÉ°ÍÀÌ´Ù. ±×·±µ¥ ÀÌ ÇÁ·Î±×·¥Àº ÅëÂ¥·Î ÀÛ¼ºµÇ¾î Àֱ⠶§¹®¿¡, ´Ù¸¥ ÇÁ·Î±×·¥¿¡¼­ sum ÇÔ¼ö¸¦ »ç¿ëÇÒ·Á°í Çϸé copy & paste ÇÒ ¼ö ¹Û¿¡ ¾ø´Ù. À̰ÍÀº ºñÈ¿À² ÀûÀÌ´Ù. ÀÌÁ¦ sum ÇÔ¼ö¸¦ ¸ðµâÇü½ÄÀ¸·Î ¿ÏÀüÈ÷ ºÐ¸® ½ÃÄÑ º¸µµ·Ï ÇÏÀÚ. À̸¦ À§Çؼ­´Â ´ÙÀ½°ú °°ÀÌ 3°³ÀÇ ÆÄÀÏÀÌ ¸¸µé¾îÁ®¾ß ÇÑ´Ù.
  1. sum ÇÔ¼öÀÇ ¼±¾ðÀÌ µé¾î ÀÖ´Â include ÆÄÀÏ
  2. sum ÇÔ¼ö¸¦ »ç¿ëÇÒ main ÇÔ¼ö°¡ ÀÖ´Â C ÆÄÀÏ
  3. sum ÇÔ¼ö°¡ Á¤ÀǵǾî ÀÖ´Â C ÆÄÀÏ

include ÆÄÀÏÀº ¾ÆÁÖ °£´ÜÇÏ°Ô ¸¸µé ¼ö ÀÖ´Ù. include ÆÄÀÏÀÇ À̸§Àº sum.h ·Î ÇϰڴÙ.
int sum(int a, int b); 
 

ÀÌÁ¦ sum ÇÔ¼ö°¡ Á¤ÀǵǾî ÀÖ´Â C Äڵ带 ¸¸µé¾îº¸ÀÚ. ¿ª½Ã °£´ÜÇÏ´Ù. ÆÄÀÏÀ̸§Àº sum.c·Î ÇϰڴÙ.
int sum(int a, int b) 
{ 
    return a + b; 
} 
 

¸¶Áö¸·À¸·Î main ÇÔ¼ö¸¦ ¸¸µé¾î º¸ÀÚ. ÆÄÀÏÀ̸§Àº calc.c ·Î ÇϰڴÙ.
#include "sum.h" 
#include <stdio.h> 
 
int main() 
{ 
    int value; 
    value = sum(130, 199); 
    printf("%d\n", value); 
} 
 

include ´Â

Çì´õÆÄÀÏÀÇ °æ·Î

¿ì¸®´Â #include Ű¿öµå¸¦ ÀÌ¿ëÇØ¼­, Æ÷ÇÔ½Ãų Çì´õÆÄÀÏÀ» ÁöÁ¤ÇÒ ¼ö ÀÖ´Ù. À̶§ Çì´õÆÄÀÏÀÇ ¿ÏÀüÇÑ °æ·Î¸¦ Æ÷ÇÔ½ÃÄÑ Áà¾ß ÇÑ´Ù. ¸¸¾à µû¿òÇ¥¸¦ »ç¿ëÇß´Ù¸é, ÀÌ´Â ÇöÀç µð·ºÅ丮¿¡¼­ Çì´õÆÄÀÏÀ» ã°Ú´Ù´Â °ÍÀ» ÀǹÌÇÑ´Ù. ±×·¸Áö ¾Ê°í <> ¸¦ »ç¿ëÇß´Ù¸é, Ç¥ÁØ Include µð·ºÅ丮¿Í ÄÄÆÄÀÏ·¯ ¿É¼ÇÀ» ÅëÇØ¼­ ÁöÁ¤µÈ µð·ºÅ丮¿¡¼­ ã°ÔµÈ´Ù. À¯´Ð½º ½Ã½ºÅÛÀÇ °æ¿ì /usr/include °¡ Ç¥ÁØ Include ÆÄÀÏÀÌ µÈ´Ù.

Çì´õÆÄÀÏÀ» ãÀ» °æ·ÎÀÇ ÁöÁ¤Àº -I¿É¼ÇÀ» ÀÌ¿ëÇÏ¸é µÈ´Ù. ¿¹¸¦ µé¾î /home/yundream/include ¿¡¼­ ãµµ·Ï ÇÏ±æ ¿øÇÑ´Ù¸é
# gcc -I/home/yundream/include -o sum sum.c 
 
¿Í °°ÀÌ ÇÏ¸é µÈ´Ù.

¸¸¾à /home/yundream/include ¸¦ Çì´õÆÄÀÏ Ã£±â °æ·Î·Î ÁöÁ¤ÇÏ°í ½Í´Ù¸é, ´ÙÀ½°ú °°ÀÌ ÇÏ¸é µÈ´Ù.
#include "/home/yundream/include" 
 


¸ðµâº° ºÐÇÒ ÄÄÆÄÀÏ

ÀÚ ÀÌÁ¦ sum.h, sum,c, calc,c 3°³ÀÇ ÆÄÀÏÀÌ ¸¸µé¾îÁ³´Ù. ÀÌ 3°³ÀÇ ÆÄÀÏÀ» ÄÄÆÄÀÏÇØ¼­ ½ÇÇà°¡´ÉÇÑ ÇÁ·Î±×·¥À» ¸¸µé¾îº¸ÀÚ.

À§¿¡¼­ ¾ð±ÞµÇ¾úµíÀÌ °¡Àå ¸ÕÀú ÇØ¾ßÇÒÀÏÀº sum.c ¿Í calc.c ¸¦ ±â°è¾î°¡ ÇØ¼®°¡´ÉÇÑ object ÄÚµå·Î ¸¸µå´Â ÀÏÀÌ´Ù. ¿ÀºêÁ§Æ® ÄÚµå´Â gcc¿¡ -c ¿É¼ÇÀ» ÀÌ¿ëÇØ¼­ ¸¸µé¾î³¾ ¼ö ÀÖ´Ù.
# gcc -c sum.c calc.c 
 
ÀÌÁ¦ sum.o ¿Í calc.o ¶ó´Â ÆÄÀÏÀÌ ¸¸µé¾îÁø°É È®ÀÎÇÒ ¼ö ÀÖÀ» °ÍÀÌ´Ù. È®ÀåÀÚ .o´Â ÀÌ ÆÄÀÏÀÌ ¿ÀºêÁ§Æ® ÆÄÀÏÀ̶ó´Â °ÍÀ» ¾Ë·ÁÁØ´Ù. ÀÌÁ¦ µÎ°³ÀÇ object ÆÄÀÏÀ» ¸µÅ©½ÃÄѼ­ ½ÇÇàÆÄÀÏÀ» ¸¸µé¸é µÈ´Ù. -o ¿É¼ÇÀ» ÀÌ¿ëÇϸé, ¸¸µé¾îÁø ¿ÀºêÁ§Æ® ÆÄÀϵéÀ» ÇÕÃÄÁÙ ¼ö ÀÖ´Ù.
# gcc -o calc sum.o calc.o 
 
ÀÌÁ¦ ½ÇÇàÆÄÀÏÀÎ calc°¡ ¸¸µé¾îÁ³´Ù.

ÀÌ·¸°Ô ¸¸µé¾îÁø object ÆÄÀÏÀº ±â°è¾î·Î ¸¸µé¾îÁ® Àֱ⠶§¹®¿¡, ÀÌÈÄ¿¡ »ç¿ëÇÒ¶§´Â sum.c¸¦ ´Ù½Ã object ÆÄÀÏ·Î ÄÄÆÄÀÏÇÒ Çʿ䰡 ¾ø´Ù. ±×³É sum.o ÇÁ·Î±×·¥¿¡ ¸µÅ©½ÃÄÑÁֱ⸸ ÇÏ¸é µÈ´Ù. ´ÙÀ½°ú °°Àº ÇÁ·Î±×·¥À» ¸¸µé¾îº¸ÀÚ. ÇÁ·Î±×·¥ÀÇ À̸§Àº mycal.c·Î ÇÏÀÚ.
#include "sum.h" 
#include <stdio.h> 
 
int main(int argc, char **argv) 
{ 
  int value; 
  int a; 
  int b; 
  if (argc != 3) 
  { 
    printf("Usage : %s num1 num2\n", argv[0]); 
    return 1; 
  } 
 
  a = atoi(argv[1]); 
  b = atoi(argv[2]); 
  value = sum(a, b); 
  printf("%d + %d = %d\n", a, b, value); 
  return 0; 
} 
 
ÀÌ ÇÁ·Î±×·¥Àº ù¹øÂ° ÇÁ·Î±×·¥º¸´Ù ´õ Áøº¸µÈ ÇÁ·Î±×·¥À¸·Î, ÇÁ·Î±×·¥ÀÇ ¸í·ÉÇà ÀÎÀÚ·Î ¹Þ¾ÆµéÀÎ ¼ýÀÚ¸¦ ´õÇÒ ¼ö ÀÖµµ·Ï µÇ¾î ÀÖ´Ù. atoi(3)´Â ¹®ÀÚ¿­À» intÇü ¼ýÀÚ·Î º¯È¯ÇØÁÖ´Â ÇÔ¼ö´Ù. sum ÇÔ¼ö´Â ÀÌ¹Ì ÄÄÆÄÀÏ µÇ¾î¼­ object ÆÄÀÏ·Î ¸¸µé¾îÁ® ÀÖÀ¸¹Ç·Î, º°µµ·Î ÄÄÆÄÀÏÇÒ Çʿ䰡 ¾ø´Ù. ´ÙÀ½°ú °°Àº¹æ¹ýÀ¸·Î ½ÇÇàÆÄÀÏÀ» ¸¸µé ¼ö ÀÖ´Ù.
# gcc -c mycal.c 
# gcc -o mycal sum.o mycal.o 
 

4Ä¢¿¬»ê ÇÁ·Î±×·¥

À§ÀÇ ÇÁ·Î±×·¥Àº µ¡¼À¸¸À» Áö¿øÇϰí ÀÖ´Ù. ¿©±â¿¡ µ¡ºÙ¿© »¬¼À, ³ª´°¼À, °ö»ù±îÁö Áö¿øÇÏ´Â ÇÁ·Î±×·¥À» ¸¸µé¾î º¸µµ·Ï ÇÏÀÚ. °¢°¢ÀÇ ¿¬»êÀº ¸ðµÎ ÇÔ¼ö·Î ÀÛ¼ºµÇ¸ç, °¢°¢ÀÇ ÇÔ¼ö°¡ Çì´õÆÄÀϰú ÇÔ¼ö°¡ Á¤ÀÇµÈ C ÄÚµå ÆÄÀÏÀ» °¡Áö°Ô µÉ °ÍÀÌ´Ù. ±×·¸´Ù¸é, ÀÌ ÇÁ·Î±×·¥Àº 4Ä¢¿¬»êÀ» À§ÇÑ 4°³ÀÇ ÇÔ¼ö¿Í 4°³ÀÇ Çì´õÆÄÀÏ 1°³ÀÇ main ÇÔ¼ö¸¦ Æ÷ÇÔÇÏ´Â C ÆÄÀÏ·Î ±¸¼ºµÉ °ÍÀÌ´Ù.
  • Çì´õÆÄÀÏ : sum.h, sub.h, mul.h, div.h
  • ÇÔ¼öÁ¤ÀÇµÈ C ÆÄÀÏ : sum.c, sub.c, mul.c, div.c
  • main ÇÔ¼öÆÄÀÏ : simplecal.c

¸ÕÁ¦ Çì´õÆÄÀÏÀ» ÀÛ¼ºÇغ¸ÀÚ.
sum.h
int sum(int a, int b); 
 

sub.h
int sub(int a, int b); 
 

mul.h
int mul(int a, int b); 
 


div.h
int div(int a, int b); 
 

ÀÌÁ¦ ÇÔ¼öÀÇ Á¤ÀǸ¦ ´ã°í ÀÖ´Â 4°³ÀÇ C ¼Ò½ºÄÚµå ÆÄÀÏÀ» ¸¸µé¾î¾ß ÇÑ´Ù.

sum.c
int sum(int a, int b) 
{ 
    return a + b; 
} 
 

sub.c
int sub(int a, int b) 
{ 
    return a - b; 
} 
 

mul.c
int mul(int a, int b) 
{ 
    return a * b; 
} 
 

div.c
int div(int a, int b) 
{ 
    return a / b; 
} 
 

ÀÌÁ¦ main ÇÔ¼ö¸¦ °¡Áø Äڵ带 ¸¸µé¸é µÈ´Ù.
#include "sum.h" 
#include "sub.h" 
#include "mul.h" 
#include "div.h" 
#include <stdio.h> 
 
int main(int argc, char **argv) 
{ 
   int a = 1200, b=25; 
 
  printf("sum : %d\n", sum(a, b)); 
  printf("sub : %d\n", sub(a, b)); 
  printf("mul : %d\n", mul(a, b)); 
  printf("div : %d\n", div(a, b)); 
} 
 

Äڵ带 ¸¸µé¾ú´Ù¸é, gcc¸¦ ÀÌ¿ëÇØ¼­ object¸¦ ¸¸µé°í À̰͵éÀ» ¸µÅ©½ÃÄѼ­ ½ÇÇàÆÄÀÏ·Î ¸¸µé¸é µÈ´Ù.
# gcc -c sum.c sub.c mul.c div.c simplecalc.c 
# gcc -o simplecalc sum.o sub.o mul.o div.o simplecalc.o 
 

¶óÀ̺귯¸®

ÀÌ·¸°Ô ´ÜÀ§ ÇÔ¼ö¸¦ º°°³ÀÇ ¼Ò½ºÄÚµå¿Í Çì´õÆÄÀÏ·Î ³ª´©¾î¼­ °ü¸®ÇÏ°Ô µÇ¸é, object ȤÀº ´ÜÀ§ ¼Ò½ºÄÚµå ÆÄÀÏÀ» ÀçȰ¿ëÇÒ ¼ö ÀÖ´Ù´Â ÀåÁ¡À» °¡Áø´Ù. ±×·¯³ª ¿©ÀüÈ÷ ºÒÆíÇÑ Á¡ÀÌ ÀÖ´Ù. ÇÔ¼ö°¡ ¸¹¾ÆÁö¸é, ÀÚÄ© ¼ö½Ê°³ÀÇ ¿ÀºêÁ§Æ® ÆÄÀÏÀÌ »ý¼ºµÉ ¼ö ÀÖÀ»°Çµ¥, À̵éÀ» °ü¸®ÇÏ´Â°Ç ¸Å¿ì ±ÍÂúÀº ÀÏÀ̱⠶§¹®ÀÌ´Ù.

±×·¸´Ù¸é 4°³ÀÇ object ÆÄÀÏÀ» Çϳª·Î ¹­À» ¼ö¸¸ ÀÖ´Ù¸é, ÇÔ¼öµéÀ» ´õ Æí¸®ÇÏ°Ô °ü¸®ÇÒ ¼ö ÀÖÀ» °ÍÀÌ´Ù. ÀÌ·¸°Ô ¿ÀºêÁ§Æ®µéÀ» ÇϳªÀÇ ÆÄÀÏ·Î ´Ù½Ã ¹­Àº °ÍÀ» ¶óÀ̺귯¸®(library)¶ó°í ÇÑ´Ù.

¶óÀ̺귯¸®´Â ´Ù½Ã Á¤Àû ¶óÀ̺귯¸®¿Í °øÀ¯ ¶óÀ̺귯¸®·Î ³ª´¶´Ù. Á¤Àû¶óÀ̺귯¸®´Â ½ÇÇàÆÄÀÏ¿¡ ¿ÏÀüÈ÷ Æ÷ÇԵǾî¹ö¸®´Â Çü½ÄÀÇ ¶óÀ̺귯¸®¸¦ ¸»ÇÑ´Ù. ¹Ý¸é °øÀ¯ ¶óÀ̺귯¸®´Â ½ÇÇàÆÄÀÏ¿¡ Æ÷ÇÔµÇÁö ¾Ê°í, ½ÇÇàµÉ¶§ ÇØ´ç ¶óÀ̺귯¸®¸¦ ºÒ·¯¿À´Â Çü½ÄÀÇ ¶óÀ̺귯¸®¸¦ ¸»ÇÑ´Ù.

Á¤Àû¶óÀ̺귯¸®

static library¶ó°í ºÎ¸£±âµµ ÇÑ´Ù. ÀÌ ¶óÀ̺귯¸®´Â ´Ü¼øÇÑ ¿ÀºêÁ§Æ®ÀÇ ¸ðÀ½ÀÏ »ÓÀÌ´Ù. Á¤Àû¶óÀ̺귯¸®´Â arÀ̶ó´Â ÇÁ·Î±×·¥À» ÅëÇØ¼­ ¸¸µé ¼ö ÀÖ´Ù. ±×·³ arÀ» ÀÌ¿ëÇØ¼­ À§ÀÇ »çÄ¢¿¬»êÀ» À§ÇÑ 4°³ÀÇ ¿ÀºêÁ§Æ®¸¦ ¸ð¾Æ¼­ libmycalc.a¶ó´Â À̸§ÀÇ Á¤Àû¶óÀ̺귯¸®¸¦ »ý¼ºÇغ¸µµ·Ï ÇÏÀÚ. rc ¿É¼ÇÀ» ÀÌ¿ëÇϸé, Á¤Àû¶óÀ̺귯¸®¸¦ ¸¸µé ¼ö ÀÖ´Ù.

rÀº Á¤Àû¶óÀ̺귯¸®¸¦ ¸¸µé°Ú´Ù´Â ¿É¼ÇÀ̰í, c´Â »õ·Î »ý¼ºÀ» Çϰڴٴ ¿É¼ÇÀÌ´Ù.
# ar rc libmycalc.a sum.o sub.o mul.o div.o 
 
libmycalc.a ¶ó´Â ÆÄÀÏÀÌ »ý¼ºµÈ°É È®ÀÎÇÒ ¼ö ÀÖÀ» °ÍÀÌ´Ù. t ¿É¼ÇÀ» ÀÌ¿ëÇϸé, ÇØ´ç ¶óÀ̺귯¸®°¡ ¾î¶² ¿ÀºêÁ§Æ®¸¦ Æ÷ÇÔÇϰí ÀÖ´ÂÁöµµ È®ÀÎÇÒ ¼ö ÀÖ´Ù. t ¿É¼ÇÀ» »ç¿ëÇÏ¸é µÈ´Ù. Âü°í·Î Á¤Àû ¶óÀ̺귯¸®ÀÇ À̸§Àº libNAME.aÀÇ Çü½ÄÀ» µû¶ó¾ß ÇÑ´Ù.
# ar t libmycalc.a 
div.o 
mul.o 
sum.o 
sub.o 
 

±×·³ Á¤Àû¶óÀ̺귯¸®¸¦ ÀÌ¿ëÇØ¼­ ½ÇÇàÆÄÀÏÀ» ¸¸µé¾î º¸µµ·Ï ÇÏÀÚ. ÀÌÀü¿¡´Â 4°³ÀÇ ¿ÀºêÁ§Æ® ÆÄÀÏÀ» ¸ðµÎ ¸µÅ©½ÃÄÑÁà¾ß ÇßÁö¸¸, ÀÌÁ¦´Â libmycalc.a ¸¸ ¸µÅ©½ÃÄÑÁÖ¸é µÈ´Ù.

¶óÀ̺귯¸®ÀÇ ¸µÅ©¹æ½ÄÀº ¿ÀºêÁ§Æ®¸¦ ¸µÅ©ÇÏ´Â °Í°ú´Â ¾à°£ Â÷À̰¡ ÀÖ´Ù. libraryÀÇ À§Ä¡¸¦ ¸íÈ®È÷ ¸í½ÃÇØ ÁÖ¾î¾ß ÇÑ´Ù. -L ¿É¼ÇÀ» ÀÌ¿ëÇØ¼­ ¶óÀ̺귯¸®°¡ ÀÖ´Â µð·ºÅ丮ÀÇ À§Ä¡¸¦ ¸í½ÃÇØÁÖ°í, -l¿É¼ÇÀ» ÀÌ¿ëÇØ¼­, ¶óÀ̺귯¸® ÆÄÀÏÀÇ À̸§À» Á¤ÇØÁà¾ß ÇÑ´Ù. ´ÙÀ½Àº simplecalc.c ¸¦ Á¤Àû¶óÀ̺귯¸®¸¦ ÀÌ¿ëÇØ¼­ ÄÄÆÄÀÏÇÏ´Â ¹æ¹ýÀ» º¸¿©ÁØ´Ù.
# gcc -o simplecalc simplecalc.c -L./ -lmycalc 
 
-L./Àº ÇöÀç µð·ºÅ丮¸¦ ¶óÀ̺귯¸® ã±â µð·ºÅ丮·Î Çϰڴٴ Àǹ̰¡ µÈ´Ù. -l ¿É¼ÇµÚ¿¡ ºÙÀÌ´Â ¶óÀ̺귯¸® ÆÄÀÏÀÇ À̸§¿¡ ÁÖ¸ñÇÒ Çʿ䰡 ÀÖ´Ù. ¶óÀ̺귯¸® À̸§Àº lib¿Í .a¸¦ Á¦¿ÜÇÑ À̸§À» »ç¿ëÇÑ´Ù.

°øÀ¯ ¶óÀ̺귯¸®

°øÀ¯ ¶óÀ̺귯¸®´Â ÇÔ²² »ç¿ëÇÏ´Â ¶óÀ̺귯¸®¶ó´Â Àǹ̴Ù. Áï Á¤Àû ¶óÀ̺귯¸® ó·³ ½ÇÇàÆÄÀÏ¿¡ ºÙ´Â °ÍÀÌ ¾Æ´Ï°í, ½Ã½ºÅÛÀÇ Æ¯Á¤µð·ºÅ丮¿¡ À§Ä¡Çϸ鼭, ´Ù¸¥ ¸ðµç ÇÁ·Î±×·¥µéÀÌ °øÀ¯Çؼ­ »ç¿ëÇÒ ¼ö ÀÖ°Ô²û Á¦ÀÛµÈ ¶óÀ̺귯¸®´Ù. ±×·¯¹Ç·Î °øÀ¯ ¶óÀ̺귯¸®¸¦ »ç¿ëÇϵµ·Ï Á¦ÀÛµÈ ÇÁ·Î±×·¥Àº ½ÇÇà½Ã¿¡ »ç¿ëÇÒ ¶óÀ̺귯¸®¸¦ È£ÃâÇÏ´Â °úÁ¤À» °ÅÄ¡°Ô µÈ´Ù.

°øÀ¯ ¶óÀ̺귯¸®¿ª½Ã ¿ÀºêÁ§Æ®¸¦ ÀÌ¿ëÇØ¼­ ¸¸µç´Ù´Â Á¡¿¡¼­´Â Á¤Àû¶óÀ̺귯¸®¿Í ºñ½ÁÇÏÁö¸¸, È£Ãâ½Ã¿¡ ¸µÅ©Çϱâ À§ÇÑ ºÎ°¡ÀûÀÎ Á¤º¸¸¦ ÇÊ¿ä·Î ÇϹǷÎ, Á¤Àû¶óÀ̺귯¸®¿Í´Â ÀüÇô ´Ù¸¥ ÇüÅ·Π¸¸µé¾î Áø´Ù. Á¤Àû¶óÀ̺귯¸®¿Í À̸§ÀÌ Çê°¥¸± ¼ö ÀÖÀ¸´Ï, ¶óÀ̺귯¸® À̸§Àº mycalcso ·Î ÇϰڴÙ.
# gcc -fPIC -c sum.c sub.c mul.c div.c 
# gcc -shared -W1,-soname,libmycalcso.so.1 -o libmycalcso.so.1.0.1 sum.o sub.o mul.o div.o 
 

  1. ¿ÀºêÁ§Æ® ÆÄÀÏÀ» ¸¸µé¶§ ºÎÅÍ Â÷À̰¡ Àִµ¥, -fPIC ¿É¼ÇÀ» Á༭ ÄÄÆÄÀÏ ÇÑ´Ù.
  2. ±×´ÙÀ½ -shared ¿É¼ÇÀ» ÀÌ¿ëÇØ¼­ °øÀ¯¶óÀ̺귯¸® ÆÄÀÏÀ» »ý¼ºÇÑ´Ù.
À§ÀÇ °úÁ¤À» ³¡³»°í ³ª¸é, libmycalcso.so.1.0.1 À̶ó´Â ÆÄÀÏÀÌ »ý¼ºÀÌ µÈ´Ù. ÀÌ ¶óÀ̺귯¸®´Â ÇÁ·Î±×·¥À» ÄÄÆÄÀÏÇÒ¶§¿Í ½ÇÇà½Ãų¶§ È£ÃâÀÌ µÇ´Âµ¥, È£ÃâµÉ¶§´Â libmycalcso.so ¸¦ ã´Â´Ù. ±×·¯¹Ç·Î ln ¸í·ÉÀ» ÀÌ¿ëÇØ¼­ libmycalcso.so ¸µÅ©ÆÄÀÏÀ» »ý¼ºÇϵµ·Ï ÇÏÀÚ.
# ln -s libmycalcso.so.1.0.1 libmycalcso.so 
 
ÀÌ·¸°Ô ¸µÅ©¸¦ ¸¸µé°Ô µÇ¸é, ¿©·¯°¡Áö ¹öÀüÀÇ ¶óÀ̺귯¸® ÆÄÀÏÀ» ÀÌ¿ëÇÒ ¼ö ÀÖÀ¸¹Ç·Î °ü¸®»ó ÀÕÁ¡À» °¡Áú ¼ö ÀÖ´Ù. »õ·Î¿î ¹öÀüÀÇ ¶óÀ̺귯¸®°¡ ³ª¿Ã °æ¿ì, ¿À·¡µÈ ¹öÀüÀÇ ¶óÀ̺귯¸®¸¦ ¾²´Â ÇÁ·Î±×·¥Àº ½ÇÇà½Ã ¹®Á¦°¡ ¹ß»ýÇÒ ¼ö Àִµ¥, ÀÌ·± ¹®Á¦¸¦ ÇØ°áÇÒ ¼ö Àֱ⠶§¹®ÀÌ´Ù.

ÀÌÁ¦ ¸µÅ©ÇÏ´Â °úÁ¤ÀÌ ³²¾Ò´Ù. ¸µÅ©°úÁ¤Àº Á¤Àû ¶óÀ̺귯¸®¸¦ »ç¿ëÇÒ¶§¿Í µ¿ÀÏÇÏ´Ù.
# gcc -o simplecalcso simplecalc.c -L./ -lmycalcso 
 

ÀÌÁ¦ ÇÁ·Î±×·¥À» ½ÇÇà½ÃÄÑ º¸µµ·Ï ÇÏÀÚ. ¾Æ¸¶ ´ÙÀ½°ú °°Àº ¿¡·¯¸Þ½ÃÁö¸¦ ¸¸³ª°Ô µÉ °ÍÀÌ´Ù.
# ./simplecalcso 
./simplecalcso: error while loading shared libraries: libmycalc.so:  
cannot open shared object file: No such file or directory 
 

ÀÌ·¯ÇÑ ¿¡·¯°¡ ¹ß»ýÇÏ´Â ¿øÀο¡ ´ëÇØ¼­ ¾Ë¾Æº¸µµ·Ï ÇÏÀÚ. Á¤Àû¶óÀ̺귯¸®´Â ½ÇÇàÆÄÀÏ¿¡ ¶óÀ̺귯¸®°¡ ºÙ¿©Áö¹Ç·Î, ÀÏ´Ü ½ÇÇàÆÄÀÏÀÌ ¸¸µé¾îÁö¸é, µ¶ÀÚÀûÀ¸·Î ½ÇÇàÀÌ °¡´ÉÇÏ´Ù. ±×·¯³ª °øÀ¯¶óÀ̺귯¸®´Â ¶óÀ̺귯¸®°¡ ºÙ¿©Áö´Â ¹æ½ÄÀÌ ¾Æ´Ï°í, ¶óÀ̺귯¸®¸¦ È£ÃâÇØ¼­ ÇØ´ç ÇÔ¼öÄڵ带 ½ÇÇàÇÏ´Â ¹æ½ÄÀÌ´Ù. ±×·¯¹Ç·Î °øÀ¯¶óÀ̺귯¸® Çü½ÄÀ¸·Î ÀÛ¼ºµÈ ÇÁ·Î±×·¥ÀÇ °æ¿ì È£ÃâÇÒ ¶óÀ̺귯¸®ÀÇ À§Ä¡¸¦ ¾Ë°í ÀÖ¾î¾ß¸¸ ÇÑ´Ù.

À§ÀÇ simplecalcso ÇÁ·Î±×·¥À» ½ÇÇà½Ã۸é, ÀÌ ÇÁ·Î±×·¥Àº libmycal.so ÆÄÀÏÀ» ãÀ» °ÍÀÌ´Ù. À̶§ ÆÄÀÏÀ» ã´Â µð·ºÅ丮´Â /etc/ld.so.conf¿¡ Á¤ÀÇ µÇ¾î ÀÖ´Ù.
# cat /etc/ld.so.conf 
/usr/lib 
/usr/local/lib 
 
¸¸¾à À§¿¡¼­ 󷳵Ǿî ÀÖ´Ù¸é, ÇÁ·Î±×·¥Àº /usr/lib ¿Í /usr/local/lib ¹Ø¿¡¼­ libmycal.so ¸¦ ã°Ô µÉ °ÍÀÌ´Ù. ±×·±µ¥ libmycal.so °¡ ¾øÀ¸´Ï, À§¿¡¼­¿Í °°Àº ¿¡·¯°¡ ¹ß»ýÇÏ´Â °ÍÀÌ´Ù.

°¡Àå °£´ÜÇÑ ¹æ¹ýÀº ¶óÀ̺귯¸® ÆÄÀÏÀ» ld.so.conf¿¡ µî·ÏµÈ µð·ºÅ丮Áß Çϳª·Î º¹»çÇÏ´Â ¹æ¹ýÀÌ µÉ °ÍÀÌ´Ù. ȤÀº ȯ°æº¯¼ö¸¦ ÀÌ¿ëÇØ¼­, »õ·Î¿î ¶óÀ̺귯¸® ã±â °æ·Î¸¦ Ãß°¡ÇÒ ¼öµµ ÀÖ´Ù. À̶§ »ç¿ëµÇ´Â ȯ°æº¯¼ö´Â LD_LIBRARY_PATH ´Ù.
# export LD_LIBRARY_PATH=./:/home/myhome/lib 
 
ÀÌÁ¦ ÇÁ·Î±×·¥À» ½ÇÇà½Ã۸é LD_LIBRARY_PATH ¿¡ µî·ÏµÈ µð·ºÅ丮¿¡¼­ ¸ÕÀú °Ë»öÇÏ°Ô µÇ°í, ÇÁ·Î±×·¥Àº ¹«»çÈ÷ ½ÇÇà µÉ °ÍÀÌ´Ù.

°øÀ¯¶óÀ̺귯¸®¿Í Á¤Àû¶óÀ̺귯¸®ÀÇ Àå´ÜÁ¡

À̵é 2°¡Áö ¶óÀ̺귯¸®ÀÇ Àå´ÜÁ¡¿¡ ´ëÇØ¼­ ¾Ë¾Æº¸µµ·Ï ÇÏÀÚ. Àå´ÜÁ¡À» ¾Ë°ÔµÇ¸é ¾î¶² »óȲ¿¡¼­ ÀÌµé ¶óÀ̺귯¸®¸¦ ¼±ÅÃÇÒ ¼ö ÀÖÀ»Áö ¾Ë ¼ö ÀÖÀ» °ÍÀÌ´Ù.

Á¤Àû¶óÀ̺귯¸®ÀÇ ÀåÁ¡Àº °£´ÜÇÑ ¹èÆ÷¹æ½Ä¿¡ ÀÖ´Ù. ¶óÀ̺귯¸®ÀÇ Äڵ尡 ½ÇÇàÄڵ忡 Á÷Á¢ ºÙ¾î¹ö¸®´Â Çü½ÄÀ̱⠶§¹®¿¡, ÀÏ´Ü ½ÇÇàÆÄÀÏÀÌ ¸¸µé¾îÁö¸é °£´ÜÇÏ°Ô º¹»çÇÏ´Â Á¤µµ·Î ´Ù¸¥ ÄÄÇ»ÅÍ ½Ã½ºÅÛ¿¡¼­ ½ÇÇà½Ãų ¼ö Àֱ⠶§¹®ÀÌ´Ù. ¹Ý¸é µ¿Àû¶óÀ̺귯¸®´Â ÇÁ·Î±×·¥ÀÌ ½ÇÇàµÉ¶§ È£ÃâÇÏ´Â ¹æ½ÄÀ̹ǷÎ, ¶óÀ̺귯¸®±îÁö ÇÔ²² ¹èÆ÷ÇØ¾ß ÇÑ´Ù. ¶óÀ̺귯¸®ÀÇ È£Ãâ °æ·ÎµîÀÇ È¯°æº¯¼ö±îÁö ´ýÀ¸·Î ½Å°æ½áÁà¾ß ÇÏ´Â ±ÍÂúÀ½ÀÌ µû¸¥´Ù.

ÀϹÝÀûÀ¸·Î Á¤Àû¶óÀ̺귯¸®´Â µ¿Àû¶óÀ̺귯¸®¿¡ ºñÇØ¼­ ½ÇÇà¼Óµµ°¡ ºü¸£´Ù. µ¿Àû¶óÀ̺귯¸® ¹æ½ÄÀÇ ÇÁ·Î±×·¥Àº ¶óÀ̺귯¸®¸¦ È£ÃâÇÏ´Â ºÎ°¡ÀûÀÎ °úÁ¤ÀÌ ÇÊ¿äÇϱ⠶§¹®ÀÌ´Ù.

Á¤Àû¶óÀ̺귯¸®´Â ½ÇÇàÆÄÀÏ Å©±â°¡ Ä¿Áø´Ù´Â ´ÜÁ¡ÀÌ ÀÖ´Ù. ÇØºÁ¾ß ¾ó¸¶³ª µÇ°Ú´À³Ä ½Í°ÚÁö¸¸, ÇØ´ç ¶óÀ̺귯¸®¸¦ »ç¿ëÇÏ´Â ÇÁ·Î±×·¥ÀÌ ¸¹À¸¸é ¸¹À» ¼ö·Ï X ÇÁ·Î±×·¥¼ö¸¸Å­ µð½ºÅ© ¿ë·®À» Â÷ÁöÇÏ°Ô µÈ´Ù. ¹Ý¸é °øÀ¯¶óÀ̺귯¸®¸¦ »ç¿ëÇÒ °æ¿ì, ¶óÀ̺귯¸®¸¦ »ç¿ëÇÏ´Â ÇÁ·Î±×·¥ÀÌ 10°³°Ç 100°³°Ç °£¿¡, ÇϳªÀÇ ¶óÀ̺귯¸® º¹»çº»¸¸ ÀÖÀ¸¸é µÇ±â ¶§¹®¿¡, ±×¸¸Å­ ½Ã½ºÅÛÀÚ¿øÀ» ¾Æ³¢°Ô µÈ´Ù.

¸¶Áö¸·À¸·Î ¹öÀü °ü¸®¿Í °ü·ÃµÈ Àå´ÜÁ¡ÀÌ ÀÖ´Ù. ¼ÒÇÁÆ®¿þ¾î °³¹ß ¼¼°èÀÇ ºÒ¹®À²À̶ó¸é ¹ö±× ¾ø´Â ÇÁ·Î±×·¥Àº ¾ø´ÙÀÌ´Ù. ¾î¶°ÇÑ ÇÁ·Î±×·¥ÀÌ¶óµµ Å©°íÀÛÀº ¹ö±×°¡ ÀÖÀ» ¼ö ÀÖÀ¸¸ç, ¶óÀ̺귯¸®µµ ¿¹¿Ü°¡ ¾Æ´Ï´Ù.

¿©±â »ê¼ú°è»êÀ» À§ÇÑ ¶óÀ̺귯¸®°¡ ÀÖ´Ù. ±×¸®°í Á¤Àû ¶óÀ̺귯¸® ÇüÅ·ΠÇÁ·Î±×·¥¿¡ ¸µÅ©µÇ¾ú¾î¼­ »ç¿ëµÇ°í ÀÖ´Ù°í °¡Á¤Çغ¸ÀÚ. ±×·±µ¥ »ê¼ú°è»ê ¶óÀ̺귯¸®¿¡ ½É°¢ÇÑ ¹ö±×°¡ ¹ß°ßµÇ¾ú´Ù. ÀÌ °æ¿ì »ê¼ú°è»ê ¶óÀ̺귯¸®¸¦ Æ÷ÇÔÇÑ A ÇÁ·Î±×·¥À» ¿ÏÀüÈ÷ »õ·Î ÄÄÆÄÀÏ ÇØ¼­ ¹èÆ÷ÇØ¾ß¸¸ÇÑ´Ù. ¹®Á¦´Â ÀÌ ¶óÀ̺귯¸®°¡ A »Ó¸¸ ¾Æ´Ï¶ó B, C, D µîÀÇ ÇÁ·Î±×·¥¿¡ »ç¿ëµÉ ¼ö ÀÖ´Ù´Â Á¡ÀÌ´Ù. °á±¹ B, C, D ÇÁ·Î±×·¥ ¸ðµÎ¸¦ »õ·Î ÄÄÆÄÀÏ ÇØ¼­ ¹èÆ÷ÇØ¾ß ÇÏ°Ô µÈ´Ù. ´õ Å« ¹®Á¦´Â ¾î¶² ÇÁ·Î±×·¥ÀÌ ¹ö±×°¡ ÀÖ´Â »ê¼ú°è»ê ¶óÀ̺귯¸®¸¦ Æ÷ÇÔÇϰí ÀÖ´ÂÁö ¾Ë¾Æ³»±â°¡ Èûµé´Ù´Â Á¡ÀÌ´Ù.

°øÀ¯¶óÀ̺귯¸® ÇüÅ·ΠÀÛ¼ºÇÏ°Ô µÉ°æ¿ì¿¡´Â ¶óÀ̺귯¸®¸¸ »õ·Î ÄÄÆÄÀÏ ÇÑ´ÙÀ½ ¹Ù²ãÁÖ¸éµÈ´Ù. ±×·¯¸é ÇØ´ç ¶óÀ̺귯¸®¸¦ »ç¿ëÇÏ´Â ÇÁ·Î±×·¥ÀÌ ¸î°³ÀÌ´ø°£¿¡ ±ò²ûÇÏ°Ô ¹®Á¦°¡ ÇØ°áµÈ´Ù.

½ÇÁ¦ ÀÌ·± ¹®Á¦°¡ ¹ß»ýÇÑ ÀûÀÌ ÀÖ¾ú´Ù. zlib ¶óÀ̺귯¸®´Â ¾ÐÃàÀ» À§ÇÑ ¶óÀ̺귯¸®·Î ºê¶ó¿ìÀú, À¥¼­¹ö, ¾ÐÃà°ü¸® ÇÁ·Î±×·¥µî¿¡ ³Î¸® »ç¿ëµÈ´Ù. ¸¹Àº ÇÁ·Î±×·¥µéÀÌ ÀÌ zlib¸¦ Á¤Àû¶óÀ̺귯¸® ÇüÅ·ΠÆ÷ÇÔÇØ¼­ ¹èÆ÷°¡ µÇ¾ú´Âµ¥, ½É°¢ÇÑ º¸¾È¹®Á¦°¡ ¹ß°ßµÇ¾ú´Ù. °á±¹ zlib¸¦ Æ÷ÇÔÇÑ ¸ðµç ÇÁ·Î±×·¥À» »õ·Î ÄÄÆÄÀÏÇØ¼­ Àç ¼³Ä¡ÇØ¾ß ÇÏ´Â ¹ø°Å·Î¿î °úÁ¤À» °ÅÄ¡°Ô µÇ¾ú´Ù. °øÀ¯¶óÀ̺귯¸®¿´´Ù¸é ¹®Á¦°¡ ¾øÀ» °ÍÀÌ´Ù.

ÀÌ»ó Á¤Àû¶óÀ̺귯¸®¿Í °øÀ¯¶óÀ̺귯¸®¸¦ ºñ±³ ¼³¸íÇß´Ù. ±×·¸´Ù¸é ¼±ÅÃÀÇ ¹®Á¦°¡ ¹ß»ýÇÒ °ÍÀε¥, ÀÚ½ÅÀÇ ÄÄÇ»Åͳª ÇÑÁ¤µÈ ¿µ¿ª¿¡¼­ »ç¿ëÇÒ ÇÁ·Î±×·¥À» Á¦ÀÛÇÏÁö ¾Ê´ÂÇÑÀº °øÀ¯¶óÀ̺귯¸® ÇüÅ·ΠÇÁ·Î±×·¥À» ÀÛ¼ºÇÏ±æ ¹Ù¶õ´Ù. ƯÈ÷ ÀÎÅͳÝÀ» ÅëÇØ¼­ ¹èÆ÷ÇÒ ¸ñÀûÀ¸·Î ÀÛ¼ºÇÒ ÇÁ·Î±×·¥À̶ó¸é, °øÀ¯¶óÀ̺귯¸® ÇüÅ·ΠÀÛ¼ºÇÏ´Â°Ô Á¤½Å°Ç°­ÇÐÀûÀ¸·Î³ª ÇÁ·Î±×·¡¹Ö À¯ÁöÂ÷¿ø¿¡¼­³ª ÁÁÀ» °ÍÀÌ´Ù.

Âü°í¹®Çå

EmailÀ» ±âÀÔÇϸé, ´ñ±ÛÀÌ ¸ÞÀÏ·Î Àü´ÞµË´Ï´Ù.