[ CnUnix ] in KIDS ±Û ¾´ ÀÌ(By): guest (guest) <211.219.9.62> ³¯ Â¥ (Date): 2002³â 7¿ù 16ÀÏ È­¿äÀÏ ¿ÀÀü 10½Ã 05ºÐ 10ÃÊ Á¦ ¸ñ(Title): ¼Ò½ºÆÄÀÏÀÌ ¿©·¯°³À϶§ Àü¿ªº¯¼ö ¼±¾ð À§Ä¡ ¸®´ª½º ÇÁ·Î±×·¡¹Ö Ãʺ¸Àä . ÇϳªÀÇ ÇÁ·Î±×·¥À» À§ÇØ ¼Ò½º ÆÄÀÏÀ» ¿©·¯°³ ¸¸µé¾ú°í Àü¿ª º¯¼ö´Â Çì´õ ÆÄÀÏ¿¡ ¼±¾ðÇß½À´Ï´Ù. ±×¸®°í ±× º¯¼ö¸¦ ÂüÁ¶ÇÏ´Â ÆÄÀÏ¿¡¼­´Â externÀ¸·Î ¼±¾ðÇß±¸¿ä. a.h int a; a.c extern int a; b.c extern int a; ±×¸®°í °¢ .c ÆÄÀÏ¿¡¼­´Â a.h ÆÄÀÏÀ» include Çß½À´Ï´Ù. make¸¦ µ¹¸®´Ï "multiple definition of 'a'" ..¿¡·¯°¡ ÂÞ~¿í ³ª¿É´Ï´Ù. º¯¼ö ¼±¾ðÀ» ¾î¶»°Ô ÇؾßÇÏÁÒ? ¹Ì¸® °¨»ç ^^; [ CnUnix ] in KIDS ±Û ¾´ ÀÌ(By): terzeron (microkid) ³¯ Â¥ (Date): 2002³â 7¿ù 16ÀÏ È­¿äÀÏ ¿ÀÀü 10½Ã 43ºÐ 21ÃÊ Á¦ ¸ñ(Title): Re: ¼Ò½ºÆÄÀÏÀÌ ¿©·¯°³À϶§ Àü¿ªº¯¼ö ¼±¾ð ±×°Ç Çì´õ¿¡ int a°¡ ÀÖÀ¸´Ï±î µÎ ÆÄÀÏÀÌ ¸ðµÎ includeÇϸ鼭 int a¿¡ ÀÇÇÑ °ø°£ ÇÒ´çÀÌ °¢°¢ ÀϾ¼­ ³ª´Â ¿¡·¯ÀÔ´Ï´Ù. ¼Ò½ºÆÄÀÏ Çϳª¿¡ int aÇÏ½Ã°í ´Ù¸¥ ¼Ò½ºÆÄÀÏ¿¡¼­´Â extern int aÇϼ¼¿ä. Çì´õ¿¡´Â ¼Ò½ºÆÄÀÏÀÌ ¸¹¾Æ¼­ º¯¼ö °ü¸®°¡ ±ÍÂú´Ù¸é extern int aÇϼŵµ µÇ´Âµ¥ ±»ÀÌ extern ¼±¾ðÇÒ ÇÊ¿ä´Â ¾ø½À´Ï´Ù. º¸ÅëÀº ÇÔ¼ö ÇÁ·ÎÅäŸÀÔ¿¡ externÇؼ­ Çì´õ¿¡ ¼±¾ðÇÏ´Â °ÍÀÌ ÁÁÁÒ. [ CnUnix ] in KIDS ±Û ¾´ ÀÌ(By): control (Ǫ¹«Å¬) ³¯ Â¥ (Date): 2002³â 7¿ù 16ÀÏ È­¿äÀÏ ¿ÀÈÄ 04½Ã 25ºÐ 53ÃÊ Á¦ ¸ñ(Title): Re: ¼Ò½ºÆÄÀÏÀÌ ¿©·¯°³À϶§ Àü¿ªº¯¼ö ¼±¾ð ±»ÀÌ Çì´õÈ­ÀÏÀ» ÀÌ¿ëÇϽðڴٸé ÁöÀúºÐÇصµ ÀÌ·¸°Ô »ç¿ëÀ» ÇϽô ¹æ¹ýµµ ÀÖ½À´Ï´Ù. -_-; a.h #ifdef START int a; #else extern int a; #endif a.c #define START #include <"a.h"> b.c #include <"a.h"> ÁÁÀº ÇÏ·ç µÇ¼¼¿ä. [ CnUnix ] in KIDS ±Û ¾´ ÀÌ(By): ahsarang (.¾Æ.»ç.¶û.) ³¯ Â¥ (Date): 2002³â 7¿ù 16ÀÏ È­¿äÀÏ ¿ÀÈÄ 06½Ã 02ºÐ 42ÃÊ Á¦ ¸ñ(Title): Re: ¼Ò½ºÆÄÀÏÀÌ ¿©·¯°³À϶§ Àü¿ªº¯¼ö ¼±¾ð Á¦¹ß... ±×·¸°Ô »ç¿ëÇÏÁö ¸»¾ÆÁÖ¼¼¿ä~~~ Çø®Áî... -.- [ CnUnix ] in KIDS ±Û ¾´ ÀÌ(By): swhan (foo bar) ³¯ Â¥ (Date): 2002³â 7¿ù 16ÀÏ È­¿äÀÏ ¿ÀÈÄ 06½Ã 13ºÐ 50ÃÊ Á¦ ¸ñ(Title): Re: ¼Ò½ºÆÄÀÏÀÌ ¿©·¯°³À϶§ Àü¿ªº¯¼ö ¼±¾ð ºñ½ÁÇÏ°Ô ÀÌ·±°Åµµ ÀÖÁö¿© :) a.h #ifdef GLOBALAREA #define GLOBAL #else #define GLOBAL extern #endif GLOBAL int a; int b; GLOBAL int c; ..... a.c #define GLOBALAREA #include "a.h" :p [ CnUnix ] in KIDS ±Û ¾´ ÀÌ(By): mimosa (mimosa) ³¯ Â¥ (Date): 2002³â 7¿ù 17ÀÏ ¼ö¿äÀÏ ¿ÀÀü 02½Ã 18ºÐ 03ÃÊ Á¦ ¸ñ(Title): Re: ¼Ò½ºÆÄÀÏÀÌ ¿©·¯°³À϶§ Àü¿ªº¯¼ö ¼±¾ð ÃÊâ±âÀÇ ÄÚµù¹æ½ÄÀº ÇϳªÀÇ ÆÄÀÏ¿¡ ¸ðµç°ÍÀ» ¿ì±×·Á³Ö´Â ¹æ¹ýÀ̾ú½À´Ï´Ù. ÀÌ·±¹æ½ÄÀº ªÀº ±æÀÌÀÇ ÄÚµù¿¡´Â »ó°üÀÌ ¾øÀ¸³ª ³»¿ëÀÌ º¹ÀâÇÏ°í µ¿½Ã¿¡ ¸¹Àº »ç¶÷ÀÌ °°ÀÌ ÀÛ¾÷À» ÁøÇàÇÒ °æ¿ì´Â ÁÁÀº ¹æ¹ýÀÌ ¾Æ´Ï¾ú½À´Ï´Ù. Çؼ­ °ü·ÃÀÖ´Â ºÎºÐº°·Î module½ÄÀ¸·Î ¶³¾îÁ® ³ª¿Í °¢ÀÚ º°µµÀÇ ÆÄÀÏ¿¡ ÄÚµùÀ» ÇÏ°í ÄÄÆÄÀϵµ °¢°¢ÇÏ°í objectÆÄÀÏÀ» ¸µÅ©Çؼ­ ÇϳªÀÇ ½ÇÇàÆÄÀÏÀ» ¸¸µå´Â modular programingÀ» ÇϰԵǾú½À´Ï´Ù. modular programingÀº ¿©·¯¸ð·Î ÀåÁ¡ÀÌ ÀÖ¾ú½À´Ï´Ù. ¿©·¯¸íÀÌ µ¿½Ã¿¡ °³¹ßÀ» ÁøÇàÇÒ ¼ö ÀÖÀ» »Ó¸¸ ¾Æ´Ï¶ó ¹æ´ëÇÑ ¼Ò½ºÁß ÀϺκÐÀ» °íÄ£°æ¿ì ±× ÀϺκп¡ ÇØ´çÇÏ´Â ºÎºÐ¸¸ ´Ù½Ã ÄÄÆÄÀÏÇؼ­ ¸µÅ©¸¦ ÇÏ¸é µÇ¾ú±â¶§¹®¿¡ °³¹ß »çÀÌŬÀÌ ´ëÆø°¨¼ÒÇÏ¿´½À´Ï´Ù. ÇÁ·Î±×·¥¾ð¾îÁß¿¡ modular programingÀ» ÃÖÃÊ·Î Àû¿ëÇÑ °ÍÀÌ C¾ð¾î ¶ø´Ï´Ù. C ¾ð¾î´Â modular programingÀ» Áö¿øÇϱâÀ§ÇØ extern Å°¿öµå¸¦ µµÀÔÇÏ¿´½À´Ï´Ù. ¸¸¾à a.c, b.c, c.c¿¡¼­ int x¶ó´Â Àü¿ªº¯¼ö¸¦ °°ÀÌ ¾²°íÀÚ ÇÏ´Â °æ¿ì´Â a.c int x --> define b.c extern int x --> declare c.c extern int x --> declare Áï defineÀº Çѹø¸¸ declare´Â ¿øÇÏ´Â ¸¸Å­ »ç¿ëÇÒ ¼ö ÀÖµµ·Ï ÇÑ°ÍÀÔ´Ï´Ù. b.c¸¸À» ÄÄÆÄÀÏÇÏ´Â °æ¿ì ÄÄÆÄÀÏ·¯´Â x°¡ ¾îµð ÀÖ´Â ³ðÀÎÁö ¾ËÁö ¸øÇÕ´Ï´Ù. º¸ÅëÀº ¾îµðÀÖ´ÂÁö ¾ËÁö ¸øÇÏ´Â ³ðÀÌ¸é ºÒÆòÀ» ÇÏ´Â°Ô Á¤»óÀ̳ª externÀ̶ó´Â Å°¿öµå°¡ ºÒÆòÀ» ÀáÀç¿ìÁö¿ä ³»¿ëÀÎÁï x°¡ defineµÈ°÷Àº ³ªÁß¿¡ ¾Ë·ÁÁÙÅ×´Ï ÀáÀÚÄÚ ÀÖ¾î¶ó ÀÔ´Ï´Ù. objectÆÄÀϵéÀÌ ¸ðµÎ »ý¼ºµÈ ÈÄ¿¡ link editer¸¦ ÀÌ¿ëÇؼ­ ÇϳªÀÇ ½ÇÇàÆÄÀÏÀ»¸¸µå´Âµ¥ ÀÌÀÛ¾÷À»Çϸ鼭 link editer°¡ xÀÇ À§Ä¡¸¦ ¾Ë·ÁÁÖ°í ÇÕÄ¡´Â ÀÛ¾÷À» ÇÕ´Ï´Ù. ¿©·¯ ÆÄÀÏ¿¡ »ç¿ëÇÏ´Â Àü¿ªº¯¼ö¸¦ ¼±¾ðÇÏ´Â °æ¿ì ÀÌ·± »ç¿ë ¹æ¹ýÀ» ÃßõÇÕ´Ï´Ù. a.c, b.c, c.c ¿¡¼­ int x¸¦ »ç¿ëÇÏ°íÀÚ ÇÏ´Â °æ¿ì h.c¸¦ º°µµ·Î ¸¸µé°í ¿©±â¿¡ int x ¸¦ ³Ö½À´Ï´Ù. ±×¸®°í .h ÆÄÀÏ¿¡´Â extern int x¸¦ ³Ö½À´Ï´Ù. Çì´õÆÄÀÏ¿¡´Â declare¸¸ ³Ö´Â°ÍÀÌ ÁÁ½À´Ï´Ù. ¾Æ ¶Ç ÇÑ°¡Áö ¿©·¯»ç¶÷ÀÌ ÄÚµùÇÏ´Ùº¸´Ï º»ÀÇ ¾Æ´Ï°Ô º¯¼ö¸íÀÌ °°°Ô µÉ °æ¿ì°¡ »ý±â´Â´ë À̶§´Â staticÀ̶ó´Â Å°¿öµå¸¦ »ç¿ëÇؼ­ ÇØ°áÇÕ´Ï´Ù. staticÀ̶ó´Â Å°¿öµå¸¦ »ç¿ëÇÏ¸é ±× º¯¼öÀÇ »ç¿ë¹üÀ§´Â ÇØ´çÆÄÀÏ·Î ±¹Çѵ˴ϴÙ. [ CnUnix ] in KIDS ±Û ¾´ ÀÌ(By): homer (simpson) ³¯ Â¥ (Date): 2002³â 7¿ù 17ÀÏ ¼ö¿äÀÏ ¿ÀÀü 02½Ã 55ºÐ 12ÃÊ Á¦ ¸ñ(Title): Re: ¼Ò½ºÆÄÀÏÀÌ ¿©·¯°³À϶§ Àü¿ªº¯¼ö ¼±¾ð filename.h Çì´õ¿¡ #ifndef __FILENAME_H #define __FILENAME_H 1 º»¹® ³»¿ë #endif ÀÌ·¸°Ô ÇسõÀ¸¸é Ȥ½Ã ¿©·¯¹ø includeµÇ¸é¼­ Âгª´Â ¹®Á¦¸¦ ¹Ì¿¬¿¡ ¹æÁöÇÒ ¼ö ÀÖ½À´Ï´Ù. ¿©´À gnu¼Ò½º¸¦ º¸½Ã°Ç ºñ½ÁÇÑ Çü½ÄÀ¸·Î µÇ¾îÀÖÀ½À» ¾Ë¼ö ÀÖ½À´Ï´Ù. [ CnUnix ] in KIDS ±Û ¾´ ÀÌ(By): heloise (¿ÀÈÄÀÇÇÞ»ì) ³¯ Â¥ (Date): 2002³â 7¿ù 17ÀÏ ¼ö¿äÀÏ ¿ÀÀü 03½Ã 33ºÐ 42ÃÊ Á¦ ¸ñ(Title): Re: ¼Ò½ºÆÄÀÏÀÌ ¿©·¯°³À϶§ Àü¿ªº¯¼ö ¼±¾ð Àú´Â, Áú¹® ÀÚüÀÇ »óȲÀÌ, Á¦°¡ ÀÌÇØÇÏ°í ÀÖ´Â °Í°ú ´Þ¶ó¼­ ±Ã±ÝÇØÁö´Âµ¥¿ä. preprocessingÀÌ µÇ¾î¼­ Çì´õÆÄÀÏÀº ´Ù 󸮵Ǿú´Ù°í Ä¡°í, À̸¦Å׸é, test1.c ============================ void foobar (void); int a; int main () { a = 7; foobar (); } ==================================== test2.c ============================ int a; void foobar (void) { a = 9; } ==================================== ÀÌ·± »óȲÀÌ ÀÖÀ»¶§, Áï int a; °¡ ±Û·Î¹ú·Î ¿©·¯±ºµ¥ ¼±¾ðµÇ¾îÀÖÀ» ¶§, ÀÌ°Ç multiple-definitionÀÌ ¾Æ´Ñ °ÍÀ¸·Î Àú´Â ¾Ë°í Àְŵç¿ä. gcc·Î ÄÄÆÄÀÏÇصµ (gcc test1.c test2.c) Àß ÄÄÆÄÀϵDZ¸¿ä. ¸¸¾à À§ÀÇ int a;°¡ int a=10; ó·³ ¹Ù²ï´Ù¸é, ÀÌ°Ç multiple_definition errorÀÔ´Ï´Ù. º¯¼ö ¼±¾ðÀ» ÇÒ ¶§, initializer(À§ÀÇ ¿¹¿¡¼­´Â 10) ±îÁö ÀÖÀ¸¸é, ÀÌ°ÍÀº È®½ÇÈ÷ definition (definitionÀÌ ÀǹÌÇÏ´Â °ÍÀº ±× º¯¼ö¸¦ ÀúÀåÇÒ ¸Þ¸ð¸®°¡ ÇÒ´çµÈ´Ù´Â ¶æÀÌÁÒ. ¹Ý´ë·Î ¼±¾ð¸¸ Çϸé, ±×³É ¾Æ À̺¯¼ö´Â 4¹ÙÀÌÆ® Â¥¸® º¯¼ö±¸³ª, ÇÏ´Â ½ÄÀÇ Á¤º¸¸¸ ÁְԵ˴ϴÙ.)À̾, gcc test1.c test2.c´Â multiple-definition error¸¦ ³»°Ô µË´Ï´Ù. ±×·¸Áö¸¸, int a; ó·³ °ªÀ» ÃʱâÈ­ÇÏ´Â initializer °¡ ºÙÁö ¾ÊÀº °æ¿ì¿¡´Â, ÀÌ°Ç tentative-definitionÀ̶ó°í Çؼ­, ²À definitionÀ¸·Î Ãë±ÞµÇÁö´Â ¾Ê½À´Ï´Ù. Àüü ÇÁ·Î±×·¥¿¡¼­ int a; °¡ ¿©·¯¹ø ÀÖ´Ù¸é, ±×Áß¿¡ Çϳª¸¸ selectÇؼ­ definitionÀ¸·Î Ãë±ÞÇÏ°í, ³ª¸ÓÁö´Â ±×³É ¼±¾ðó·³ (extern int a; ó·³) Ãë±ÞÇÏ°Ô µË´Ï´Ù. (¿¬°üµÈ ¼³¸íµéÀº, K&R ºÎ·Ï A10.2 external declarations ¸¦ º¸¸é ãÀ» ¼ö ÀÖ½À´Ï´Ù.) µû¶ó¼­ ¸¸¾à Áú¹®ÀÇ °æ¿ì°¡ Á¦°¡ À§¿¡¼­ µç example°ú °°Àº °æ¿ì¶ó¸é ¿Ö error°¡ »ý°å´ÂÁö ¸ð¸£°Ú³×¿ä. ¹°·Ð, errorÀÌ°í ¾Æ´Ï°í¸¦ ¶°³ª¼­, À§ÀÇ ¾î¶² ºÐÀÌ ¼³¸íÇϽŠ°Í ó·³, definition¿¡ ÇØ´çÇÏ´Â °Ç, ÇÑ ¼Ò½ºÆÄÀÏ¿¡ ³Ö°í (Çì´õ°¡ ¾Æ´Ñ), ±×³É ¼±¾ðÀÎ °ÍÀº extern Çؼ­ Çì´õ¿¡ ³Ö¾î¼­ ¿©·¯±ºµ¥ Æ÷ÇÔµÇ°Ô ÇÏ´Â °ÍÀÌ, readabilityµµ ±×·¸°í ÁÁÀº ÇÁ·Î±×·¡¹Ö ½À°üÀÌ°ÚÁö¿ä. ¾ÏÆ°, ±Ã±ÝÇϳ׿ä. ¾î¶² ÄÄÆÄÀÏ·¯¸¦ ¾²¼Ì´ÂÁö... [ CnUnix ] in KIDS ±Û ¾´ ÀÌ(By): ahsarang (.¾Æ.»ç.¶û.) ³¯ Â¥ (Date): 2002³â 7¿ù 17ÀÏ ¼ö¿äÀÏ ¿ÀÀü 04½Ã 29ºÐ 41ÃÊ Á¦ ¸ñ(Title): Re: ¼Ò½ºÆÄÀÏÀÌ ¿©·¯°³À϶§ Àü¿ªº¯¼ö ¼±¾ð ¾Æ·¡¿Í °°À» ¶§ a´Â ºÐ¸í(¹Ýµå½Ã!) Áߺ¹ Á¤ÀÇ ¿À·ù¿©¾ßÇÒ °Å °°½À´Ï´Ù. µÑ Áß Çϳª°¡ static int a;·Î Á¤ÀǵÇÁö ¾Ê´Â´Ù¸é¿ä. ¿©·¯¸íÀÇ °³¹ßÀÚ°¡ °¢°¢ ´Ù¸¥Àǵµ·Î Àü¿ªº¯¼ö¸¦ ¼±¾ðÇߴµ¥ ¿ì¿¬È÷ º¯¼ö¸íÀÌ °°´Ù¸é, ±×°É ÄÄÆÄÀÏ·¯°¡ Àڱ⸾´ë·Î °°Àº ³ÑÀ¸·Î Ãë±ÞÇعö¸°´Ù¸é ¾îÂîµÉ±î¿ä??? ÀÌ·± ÄÄÆÄÀÏ·¯°¡ ÀÖ´Ù¸é Àú´Â ±â²¨ÀÌ ¾È¾²°Ú½À´Ï´Ù. :) ±Û°í #define¾î¼±¸ ³Ö¾î¼­ header file¿¡ Á¤ÀǸ¦ ³ÖÀ¸·Á´Â ½Ãµµ´Â ÇÏÁö ¾Ê´Â°ÍÀÌ ÁÁ°Ú½À´Ï´Ù. ¸¹Àº »ç¶÷µéÀÇ Á¤½Å°Ç°­À» À§ÇÏ¿©... À§ minosa´ÔÀÌ Àß ¼³¸íÇØÁֽŰŠ°°Àºµ¥ ¼±¾ð°ú Á¤ÀÇ´Â ±¸ºÐÇϴ°ÍÀÌ... [ CnUnix ] in KIDS ±Û ¾´ ÀÌ(By): heloise (¿ÀÈÄÀÇÇÞ»ì) ³¯ Â¥ (Date): 2002³â 7¿ù 17ÀÏ ¼ö¿äÀÏ ¿ÀÀü 06½Ã 19ºÐ 41ÃÊ Á¦ ¸ñ(Title): Re: ¼Ò½ºÆÄÀÏÀÌ ¿©·¯°³À϶§ Àü¿ªº¯¼ö ¼±¾ð ¹¹, ½ÇÇèÇغ¸½É ¾Ë°ÚÁö¸¸, Á¦°¡ ¾²´Â ÄÄÆÄÀÏ·¯ (gcc¿Í MSÀÇ compiler¸¦ Æ÷ÇÔÇؼ­)µéÀº ¿¡·¯¸¦ ¹ß»ý½ÃÅ°Áö ¾Ê½À´Ï´Ù. Ȥ, ¿¡·¯¸¦ ¹ß»ý½ÃÅ°´Â ÄÄÆÄÀÏ·¯¸¦ ¾Ë°í °è½Ã¸é, °¡¸£ÃÄÁֽʽÿÀ. ---------------------------- »ç½Ç, ÀÌ °æ¿ì¿¡´Â tentative definitionµéÀÌ ¿©·¯ ÆÄÀÏ¿¡ Èð¾îÁ® Àֱ⠶§¹®¿¡ ¾î¶»°Ô 󸮵Ǿî¾ß Çϴ°¡ ÇÏ´Â °ÍÀÌ standard¿¡ ¸í½ÃµÇ¾îÀÖ´ÂÁö´Â Àß ¸ð¸£°Ú½À´Ï´Ù. ÇÏÁö¸¸, ´ÙÀ½°ú °°Àº ·ê ¶§¹®¿¡ int a = 10; /* ÀÌ°Ç definition ÀÔ´Ï´Ù. */ int a; /* ÀÌ°Ç tentative definition ÀÔ´Ï´Ù. */ extern int a; /* ÀÌ°Ç definitionÀÌ ¾Æ´Ñ, ¼±¾ð ÀÌÁö¿ä. */ ¸¸¾à, ÇÑ ÆÄÀÏ¿¡ int a; int a; À§¿Í °°ÀÌ tentative definitionÀÌ ¿©·¯¹ø ³ªÅ¸³­´Ù¸é, ÀÌ°ÍÀº ¿¡·¯°¡ ¾Æ´Õ´Ï´Ù. tentative definition ÀÌ Ã³¸®µÇ´Â ·êÀº, ÇÑ ÆÄÀÏ ³»¿¡¼­ tentative definitionÀº ¿©·¯¹ø ³ªÅ¸³ªµµ »ó°ü ¾ø°í, ¸¸¾à ±× ÆÄÀϳ»¿¡¼­ definition (int a = 10; °°Àº °Í)ÀÌ ÀÖ´Ù¸é (¹°·Ð Çϳª ¿©¾ß °ÚÁö¿ä.) ±× ÆÄÀϳ»ÀÇ ¸ðµç tentative definitionµéÀº ±×³É ¼±¾ðÀ¸·Î Ãë±ÞµË´Ï´Ù. ¸¸¾à ±× ÆÄÀϳ»¿¡ definitionÀÌ ¾ø´Ù¸é, tentative definition ¿¡ ÀÇÇؼ­ ±× º¯¼ö°¡ defineµÇÁö¿ä. ±Ùµ¥, ¸¸¾à ÇÑ ÇÁ·Î±×·¥À» ±¸¼ºÇÏ´Â ¿©·¯ ÆÄÀϵ鿡 int a; °°Àº tentative definitionÀÌ Èð¾îÁ® ÀÖÀ» °æ¿ì, À§¿¡¼­ ¸»¾¸µå¸° tentative-definition¿¡ °üÇÑ ·êÀ» ÇÑ ÆÄÀϳ»¿¡¼­°¡ ¾Æ´Ï¶ó ÇÁ·Î±×·¥ Àüü¿¡ Àû¿ë½ÃÅ°´Â °æ¿ì°¡ ¸¹Àº °ÍÀ¸·Î ¾Ë°í ÀÖ½À´Ï´Ù. Áï, ÇÁ·Î±×·¥ Àüü¿¡¼­ aÀÇ definitionÀÌ Á¸ÀçÇϸé, ´Ù¸¥ ¸ðµç tentative definitionµéÀº ¼±¾ðÀ¸·Î ó¸®ÇÏ°í, aÀÇ explicitÇÑ definitionÀÌ ¾øÀ¸¸é, tentative definition¿¡ ÀÇÇؼ­ ±× º¯¼öÀÇ definitionÀ» ¸¸µå´Â °ÅÁÒ. gccµµ ±×·± °Í °°±¸¿ä. ±×·¡¼­ tentative definitionÀº ¿©·¯¹ø ³ªÅ¸³ªµµ Çã¿ëÀÌ µÇ´Â °Í °°½À´Ï´Ù. ÇÏÁö¸¸, linkerÀÚü¿¡ Ȥ½Ã, ÀÌ·± tentative definitionÀÌ ¿©·¯ÆÄÀÏ¿¡ ÀÖ´Â °æ¿ì¸¦ ´Ù¸£°Ô ó¸®ÇØÁÖ´Â (1. tentative definitionÀÌ ¿©·¯ÆÄÀÏ¿¡ ³ªÅ¸³­ °ÍÀ» ¿ëÀÎÇÏ´Â, 2. ¿ëÀÎÇÏÁö ¾Ê´Â) ±×·± ¿É¼ÇÀÌ ÀÖÀ» ¼öµµ ÀÖÀ»Áö, Àß ¸ð¸£°Ú³×¿ä. [ CnUnix ] in KIDS ±Û ¾´ ÀÌ(By): terzeron (microkid) ³¯ Â¥ (Date): 2002³â 7¿ù 17ÀÏ ¼ö¿äÀÏ ¿ÀÈÄ 12½Ã 37ºÐ 26ÃÊ Á¦ ¸ñ(Title): Re: ¼Ò½ºÆÄÀÏÀÌ ¿©·¯°³À϶§ Àü¿ªº¯¼ö ¼±¾ð ANSI/ISO/IEC Ç¥ÁØ¿¡ ÀÌ¹Ì tentative definitionÀÌ ºüÁ®³ª°¥ ±¸¸ÛÀÌ ¸ðµÎ ¾ð±ÞµÇ¾î ÀÖ½À´Ï´Ù. ±×¸®°í ±× ±¸¸ÛÀ» ¸·°í ½ÍÀ¸½Ã¸é GCC¿¡¼­´Â -fno-commonÀ» ¾²¼¼¿ä. [ CnUnix ] in KIDS ±Û ¾´ ÀÌ(By): ahsarang (.¾Æ.»ç.¶û.) ³¯ Â¥ (Date): 2002³â 7¿ù 17ÀÏ ¼ö¿äÀÏ ¿ÀÈÄ 02½Ã 26ºÐ 10ÃÊ Á¦ ¸ñ(Title): Re: ¼Ò½ºÆÄÀÏÀÌ ¿©·¯°³À϶§ Àü¿ªº¯¼ö ¼±¾ð tentative definitionÀ̶ó... gcc·Î Å×½ºÆ®Çغôµ¥ ¿¡·¯°¡ ¾Æ´Ï±º¿ä. Áö±Ý±îÁö Àú·¸°Ô ¾µ »ý°¢À» Çغ»ÀûÀÌ ¾ø½À´Ï´Ù. ´ç¿¬ ¿À·ù¶ó°í »ý°¢Çß¾úÁÒ. ÀÌ°Ô Çã¿ëµÈ´Ù°í Çصµ ¿©ÀüÈ÷ Á¦ »ý°¢Àº °°½À´Ï´Ù. °¡±ÞÀû ¾²Áö ¸¶½Ê½Ã¿ä. :) ¾ÏÆ° ÇÑ ¼ö ¹è¿ü½À´Ï´Ù.