# C¾ð¾î ¼Ò°³.

1969³â¿¡......, AT&T ¿¬±¸¼ÒÀÇ Ken ThompsonÀº ¿¬±¸¼ÒÀÇ
ÇÑÂÊ ±¸¼®¿¡ ¹æÄ¡µÇ¾î ÀÖ´ø ÀÛÀº ÄÄÇ»Å͸¦ º¸°í ¿î¿µÃ¼Á¦
'UNIX'ÀÇ °³¹ßÀ» ½ÃÀÛÇß½À´Ï´Ù. ÀÌ ÀÛ¾÷¿¡ °¡´ãÇϰí ÀÖ¾ú´ø
Dennis Ritchie ¶ó´Â »ç¶÷ÀÌ 'C' ¶ó°í ÇÏ´Â ¾ð¾î¸¦ ¸¸µé¾ú°í.
°á±¹ UNIX ´Â C ¾ð¾î·Î ´Ù½Ã ÇÁ·Î±×·¡¹Ö µÇ¾ú½À´Ï´Ù.

±×·±µ¥, ¿Ö À̸§ÀÌ 'C' Àϱî¿ä?
¿ø·¡ 'CPL(Combined Programming Language)' À̶ó´Â ¾ð¾î°¡
ÀÖ¾ú´Âµ¥, ±× ¾ð¾î¿¡¼­ 'BCPL(Basic CPL)' À̶ó´Â ¾ð¾î°¡
ÆÄ»ýµÇ¾ú°í, ´Ù½Ã ±× ¾ð¾î¿¡¼­ ÆÄ»ýÇÑ ¾ð¾î¸¦ BCPLÀÇ ¼±µÎ
¹®ÀÚ¸¦ µû¼­ 'B' ¶ó°í À̸§À» ºÙ¿´½À´Ï´Ù. C ¾ð¾î´Â ´Ù½Ã ±×
B ¾ð¾î¿¡¼­ ÆÄ»ýµÇ¾ú±â ¶§¹®¿¡ BCPLÀÇ 2¹øÂ° ¹®ÀÚ¸¦ µû¼­
(ȤÀº BÀÇ ´ÙÀ½ ¾ËÆÄºªÀ» µû¼­) 'C' ¶ó°í Áö¾îÁ³´Ù°í ÇÕ´Ï´Ù.

¿ä¾àÇÏÀÚ¸é C¾ð¾î´Â Unix ¿î¿µÃ¼Á¦ ÇÏ¿¡¼­ ½Ã½ºÅÛ ÇÁ·Î±×·¡¹ÖÀ»
Çϱâ À§ÇØ °³¹ßµÈ ¾ÆÁÖ °­·ÂÇÑ ±â´ÉÀ» °¡Áø ÇÁ·Î±×·¡¹Ö ¾ð¾îÀÔ´Ï´Ù.

C¾ð¾î´Â ±¸Á¶È­ ÇÁ·Î±×·¡¹ÖÀ» ÁöÇâÇÏ´Â ¾ð¾îÀ̰í Á¤¸»·Î °¡Àå
¾µ¸ðÀÖ´Â ¾ð¾î¶ó°í ÇÒ¼ö ÀÖ½À´Ï´Ù.
ÀÌÀ¯´Â C¾ð¾î¿¡¼­´Â ¸øÇÏ´Â°Ô ¾ø±â ¶§¹®ÀÌÁÒ.
Á» °úÀåµÈ Ç¥Çö °°±âµµ ÇÏÁö¸¸ ´Ù¸¥ ¾ð¾îµé°ú ºñ±³ÇØ º¼¶§
¸øÇϴ°Ŷõ ¾ø½À´Ï´Ù.
±×¸®°í C¾ð¾î·Î ¸¸µç ÇÁ·Î±×·¥ÀÇ ¼Óµµ´Â ¾î¼Àºí¸®¾î ¸¸Å­À̳ª
ºü¸¥ ¼Óµµ¸¦ ³»±â ¶§¹®¿¡ ºü¸¥ ¼Óµµ¸¦ ¿ä±¸ÇÏ´Â ÇÁ·Î±×·¥¿¡µµ
ÀûÇÕÇÏÁÒ.
´Ü °ÔÀÓ°ú °°Àº °÷¿¡¼­´Â C¾ð¾îÀÇ ¼ÓµµÁ¶Â÷µµ ´À¸®±â ¶§¹®¿¡..
¾î¼Àºí¸®°¡ ¿ä±¸µÇ´Â °÷ÀÌ ÀÖÁö¸¸, ¿äÁò C¾ð¾î ÄÄÆÄÀÏ·¯µéÀº
ÀζóÀÎ ¾î¼Àºí·¯¶ó´Â °ÍÀ» Áö¿øÇؼ­ C¼Ò½º ³»¿¡ ¾î¼Àºí¸® Äڵ带
Ãß°¡ÇÒ¼ö ÀÖ½À´Ï´Ù. ÀÌ·± Á¡À¸·Î º¼¶§ C·Î´Â ¸øÇÏ´Â°Ô ¾ø´Ù°í
ºÁµµ µÇ°ÚÁÒ?

±×·¡µµ ½Ç°¨ÀÌ ³ªÁö ¾ÊÀ¸½Ã¸é C¾ð¾î·Î ¸¸µé¾îÁø ´ëÇ¥ÀûÀÎ
ÇÁ·Î±×·¥À» ¿¹·Î µé¾î º¼±î¿ä?
±×·±µ¥ ±×·²·Á¸é ÇѰ¡Áö ¹®Á¦°¡ Àֳ׿ä.
ÀÌ ¹®Á¦°¡ ¹¹³Ä Çϸé.. C¾ð¾î·Î ¸¸µé¾îÁø À¯¸íÇÑ ÇÁ·Î±×·¥ÀÌ
³Ê¹«³ªµµ ¸¹´Ù´Â °ÍÀÌÁÒ. ±×·¡µµ ¸î°¡Áö ¿¹¸¦ µé¾î º¸ÁÒ.
¿ì¼± OS¿¡¼­´Â UnixÀÇ Ä¿³ÎÀÇ ÀϺκÐÀ» Á¦¿ÜÇÑ ¸ðµç ºÎºÐÀÌ
C·Î ¸¸µé¾îÁ³½À´Ï´Ù.
Á¤¸» ±²ÀåÇÏÁÒ..?
±×¸®°í Windows 95µµ Ä¿³ÎÀÇ ÀϺκаú *.VxD¸¸ »©¸é ¸ðµÎ
C·Î ¸¸µé¾îÁ³½À´Ï´Ù. ±×°ÍµÎ ¿ì¸®°¡ Àß ¾Ë°í ÀÖ´Â Visual C++ÀÇ
¹öÀü 2.1·Î ¸¸µé¾îÁ³ÁÒ.

¶ÇÇϳª ±²ÀåÇÑ »ç½ÇÀÌ Àִµ¥..
Windows NT´Â Ä¿³Î ºÎºÐ±îÁö C·Î ¸¸µé¾îÁ³´Ù´Â °ÍÀÌÁÒ.
C¾ð¾î·Î ¸¸µé¾îÁø ÇÁ·Î±×·¥¿¡´Â °ÔÀÓµµ ¸¹Àºµ¥, ´ëºÎºÐÀÇ
°ÔÀÓÀº C¾ð¾î·Î ¸¸µé¾îÁ³´Ù°í º¸¸é µË´Ï´Ù.
°ÔÀÓÀ» ½ÃÀÛÇÒ¶§

DOS/4GW Protected Mode Run-time Version 1.97
Copyright (c) Rational Systems Inc. ............
 .
 .

ÀÌ·± °ÍÀ» ¸¹ÀÌ º¸¼ÌÀ» °Ì´Ï´Ù. À¯¸íÇÑ °ÔÀÓÀ» ½ÃÀÛÇÒ¶© ´Ù
ÀÌ°Ô ³ª¿À´Âµ¥, ÀÌ°Ô ³ª¿À´Â°Ç C¾ð¾îµµ ¸¸µé¾îÁø °Í ÀÔ´Ï´Ù.
Watcom C++¶ó´Â °³¹ß Åø·Î ¸¸µé¾îÁø °ÍÀÌÁÒ.
¶Ç ÇѰ¡Áö ³î¶ó¿î »ç½ÇÀÌ Àִµ¥, C¾ð¾î ÄÄÆÄÀÏ·¯µµ C¾ð¾î·Î
¸¸µç´Ù´Â °ÍÀÌÁÒ.
ÀÌÁ¤µµ¸é C¾ð¾î·Î ¸øÇÏ´Â°Ô ¾ø´Ù´Â ¸»ÀÌ ÀÌÇØ°¡ µÇ½Ã°ÚÁÒ?

±×·³ ÀÌÁ¦ ±× C¾ð¾îÀÇ ¼¼°è·Î µé¾î°¡ º¸µµ·Ï ÇÏÁÒ.

# C¾ð¾î¿¡´Â ¾î¶² Á¾·ù°¡..

'C¾ð¾î¿¡´Â ¾î¶² Á¾·ù°¡..'¶ó´Â Á¦¸ñÀ» º¸°í ±ÛÀÌ ÀÚ²Ù Àаí
½Í¾î Áö½Å´Ù¸é ±× ºÐÀº ºÐ¸í C¾ð¾î Ãʺ¸ÀÚ ÀÔ´Ï´Ù.
ÇÏÁö¸¸ ÀÌ Á¦¸ñÀ» º¸°í¼± ¹«¾ð°¡ ÀÌ»óÇÏ´Ù°í ´À³¢½Ã¸é
ÁøÁ¤ÇÑ Àü¹®°¡¶ó°í ÇÒ¼ö ÀÖÁÒ.

ÀÌÀ¯°¡ ±Ã±ÝÇϽÃÁÒ? ÀÌÀ¯´Â C¾ð¾î¿¡´Â Á¾·ù°¡ ¾ø±â ¶§¹®ÀÌÁÒ.
Á¾·ù°¡ ¾ø´Âµ¥ Á¦¸ñÀÌ Àú·¯´Ï ´ç¿¬È÷ ÀÌ»óÇÒ¼ö ¹Û¿¡¿ä.
C¸¦ óÀ½ ÇϽô ºÐµéÀÌ ¸¹ÀÌ Áú¹®ÇϽô °Íµé Áß Çϳª°¡
'C¿Í Visual CÀÇ Â÷ÀÌÁ¡ÀÌ ¹«¾ùÀΰ¡¿ä?' ÀÔ´Ï´Ù.
Á¦°¡ ÀÌ Áú¹®À» ¹Þ¾Ò´Ù¸é ÀÌ·¸°Ô ´äÇØ µå¸®°í ½Í±º¿ä.
'C´Â ¾ð¾îÀ̰í Visual C´Â ¾ð¾î°¡ ¾Æ´Õ´Ï´Ù.' ¶ó±¸¿ä.
¿©±â¼­ Visual C¶ó´Â °Ç Microsoft¶ó´Â ȸ»ç¿¡¼­ ¸¸µç
C¾ð¾î·Î ÇÁ·Î±×·¡¹ÖÇÒ¶§ ÇÊ¿äÇÑ µµ±¸¸¦ ¸»ÇÕ´Ï´Ù.
Áï ¾ð¾î°¡ ¾Æ´Ï¶ó´Â °ÍÀÌÁÒ.
´ÜÁö C¾ð¾î·Î ÇÁ·Î±×·¡¹ÖÀ» ÇÒ¶§ ÇÊ¿äÇÑ µµ±¸¿¡ Áö³ªÁö
¾Ê½À´Ï´Ù. ¾ð¾î´Â ¹Ù·Î CÀÌÁÒ.

±×·¯¹Ç·Î Visual C¿Í Borland CµîÀº ¹®¹ý¿¡¼± Â÷À̰¡
ÀÖÀ» ¼ö ¾ø½À´Ï´Ù.

Á¤¸®Çϸé C´Â ¾ð¾îÀ̰í, Visual C, Borland CµîÀº ¾ð¾î°¡
¾Æ´Ï¶ó C¾ð¾î¸¦ »ç¿ëÇØ ÇÁ·Î±×·¥À» Á¦ÀÛÇϱâ À§ÇÑ µµ±¸À̸ç,
¸ðµÎ C¾ð¾î ÇÁ·Î±×·¥À» Á¦ÀÛÇϱâ À§ÇÑ µµ±¸À̹ǷΠ±âº» ¹®¹ýÀÇ
Â÷ÀÌ´Â ÀÖÀ»¼ö ¾ø´Ù´Â °ÍÀ» ²À ±â¾ïÇϽñ⠹ٶø´Ï´Ù.
±×¸®°í ¿©±â¼­ ÇѰ¡Áö ¸»¾¸µå¸±°ÍÀÌ Àִµ¥, À§¿¡ Visual C¶ó°í
½èÁö¸¸ ½ÇÁ¦´Â ÀÌ°Ô ¾Æ´Ï°í Visual C++ÀÔ´Ï´Ù.

±×·³ ¶Ç ÇѰ¡Áö Àǹ®ÀÌ »ý±â½Ç°Çµ¥ Visual C++¿¡¼­ C++°¡ ¾Æ´Ñ
C¾ð¾î ÇÁ·Î±×·¥À» ÀÛ¼ºÇÒ¼ö ÀÖ´ÂÁö ¸»ÀÔ´Ï´Ù.

ÀÌ Àǹ®ÀÇ ´äÀº Yes!ÀÔ´Ï´Ù.

C++¶ó´Â ¾ð¾î´Â C¾ð¾î¸¦ °´Ã¼ ÁöÇâ ÇÁ·Î±×·¡¹ÖÀ̶õ °ÍÀ» ÇÒ¼ö
ÀÖµµ·Ï È®Àå½ÃŲ ¾ð¾îÀÌÁÒ.
±×·¡¼­ C++¾ð¾î´Â C¾ð¾î¸¦ Æ÷ÇÔÇÑ´Ù°í ÇÒ¼ö ÀÖÁÒ.
±×·¯¹Ç·Î Visual C++¿¡¼­ ¾Æ¹«¸® C++¶ó°í ¾²¿©Á® À־
C ÇÁ·Î±×·¡¹ÖÀº °¡´ÉÇÕ´Ï´Ù.

# C¾ð¾î´Â ¾î¶»°Ô..

ÀÌÁ¦ C¾ð¾î ÇÁ·Î±×·¥ÀÌ ¾î¶»°Ô ½ÇÇàµÇ¾î Áö´Â°¡¸¦ ¾Ë¾Æº¾½Ã´Ù.
C¾ð¾î·Î ÇÁ·Î±×·¥À» ¸¸µé¸é ½ÇÇàÆÄÀÏ(.EXE)À» ¸¸µé ¼ö°¡ ÀÖ½À´Ï´Ù.
½ÇÇàÆÄÀÏÀÌ ¸¸µé¾îÁú¶§´Â ´ÙÀ½°ú °°Àº °úÁ¤À» °ÅĨ´Ï´Ù.

    (1)¼Ò½º ÄÚµå -------------> (2)¼Ò½º ÆÄÀÏ ---------->
                 ÅØ½ºÆ® ¿¡µðÅÍ               ¼±Çà󸮱â


    (3)¼±Çà󸮱â Áö½Ã¾î°¡ ¹ø¿ªµÈ ¼Ò½º ÆÄÀÏ --------->
                                            ÄÄÆÄÀÏ·¯

                 ¶óÀ̺귯¸®
    (4)¸ñÀû ÆÄÀÏ -----------> (5)½ÇÇàÆÄÀÏ
                    ¸µÄ¿

(1) ¼Ò½º ÄÚµå (Source)

ÇÁ·Î±×·¥ÀÇ ³»¿ë ÀÚü¸¦ ¼Ò½º ÄÚµå¶ó°í ÇÕ´Ï´Ù.

(2) ¼Ò½º ÆÄÀÏ (Source file)

¼Ò½º Äڵ带 ÅØ½ºÆ® ÆÄÀÏ¿¡ ±â¼úÇÏ¿© ¸¸µé¾îÁø ÆÄÀÏÀ»
¼Ò½º ÆÄÀÏÀ̶ó°í ÇÕ´Ï´Ù.
C¾ð¾îÀÇ ¼Ò½º ÆÄÀÏÀº È®ÀåÀÚ°¡ .CÀÔ´Ï´Ù.
C¾ð¾î ÇÁ·Î±×·¥ ¸¸µå´Â °¡Àå ù¹øÂ° °úÁ¤À̶ó°í ÇÒ ¼ö ÀÖÁÒ.

(3) ¼±Çà󸮱â Áö½Ã¾î°¡ ¹ø¿ªµÈ ¼Ò½º ÆÄÀÏ

C¾ð¾î ÇÁ·Î±×·¥ ³»¿¡´Â ¿©·¯°¡Áö Áö½Ã¾î µéÀÌ Àִµ¥
ÀÌ°Ç C¾ð¾î ¹®¹ý°ú´Â º°°³ÀÌ°í ¹ø¿ªµµ ÄÄÆÄÀÏ·¯°¡ ÇÏÁö
¾Ê½À´Ï´Ù.
ÀÌ°É ¹ø¿ªÇÏ´Â ÇÁ·Î±×·¥À» ¼±Çà󸮱â¶ó°í ÇÕ´Ï´Ù.

(4) ¸ñÀû ÆÄÀÏ (Object file)

Áö½Ã¾î°¡ ¹ø¿ªµÈ ¼Ò½º ÆÄÀÏÀº ´ÙÀ½À¸·Î ÄÄÆÄÀÏ·¯¶ó´Â ÇÁ·Î±×·¥¿¡
ÀÇÇØ ±â°è¾î·Î ¹ø¿ªµË´Ï´Ù.
ÀÌ ¹ø¿ªµÈ ÆÄÀÏÀ» ¸ñÀû ÆÄÀÏÀ̶ó°í Çϰí, È®ÀåÀÚ´Â .OBJ°¡ µË´Ï´Ù.
±×·¯µ¥ ¿©±â¼­ ÀÌ»óÇÑ Á¡ÀÌ ÀÖÁÒ?
±â°è¾î·Î ¹ø¿ªÇÏ¸é ½ÇÇàÇÒ¼ö ÀÖÀ» °Çµ¥ ¿Ö???????? ½ÇÇàÆÄÀÏÀ»
¸¸µéÁö ¾Ê°í ¸ñÀûÆÄÀÏÀ̶ó´Â ¸¸µé±î¿ä?
ÇÏÁö¸¸ ±â°è¾î·Î ¹ø¿ªµÇ¾ú´Ù°í ÇØ¼­ ½ÇÇàÇÒ¼ö´Â ¾ø½À´Ï´Ù.
½ÇÇàÆÄÀÏÀÌ µÇ±â À§Çؼ± ·±Å¸ÀÓ ¶óÀ̺귯¸®¶ó´Â °ÍÀÌ ¸ñÀû ÆÄÀϰú
ÇÕÃÄÁ®¾ß Çϱ⠶§¹®ÀÌÁÒ. ÀÌ ·±Å¸ÀÓ ¶óÀ̺귯¸®°¡ ¹«¾ùÀÎÁö´Â
³ªÁß¿¡ ¼³¸íÇϱâ·Î ÇÏ°í ±×³É ·±Å¸ÀÓ ¶óÀ̺귯¸®¶ó´Â °ÍÀÌ
ÇÕÃÄÁ®¾ß ÇÑ´Ù´Â °Í¸¸ ¾Ë¾ÆµÎ¼¼¿ä.

(5) ½ÇÇà ÆÄÀÏ (Executable file)

¸ñÀûÆÄÀÏÀº À§¿¡¼­ ¸»ÇÑ ·±Å¸ÀÓ ¶óÀ̺귯¸®¿Í ÇÕÃÄÁ®¼­
½ÇÇàÆÄÀÏÀÌ µÇ´Âµ¥,À̶§ ÇÕÃÄÁÖ´Â ÇÁ·Î±×·¥À» ¸µÄ¿¶ó°í ÇÕ´Ï´Ù.
¸µÄ¿¿¡ ÀÇÇØ ¸ñÀû ÆÄÀÏÀº ½ÇÇàÆÄÀÏÀÌ µÇÁÒ.
±×·³ ½ÇÇàÇÒ¼ö°¡ ÀÖ°Ô µË´Ï´Ù.

Next:C ÇÁ·Î±×·¥ÀÇ ±âº»ÀûÀÎ ±¸Á¶