|
|
|
|
|
| Visual C++ .NET : a primer for C++ Developers
|
 |
|
|
| ¤ýÀú ÀÚ |
Aravind Corera
|
| ¤ý¿ª ÀÚ |
±è¿øÀÏ
|
| ¤ý±¸ ºÐ |
¹ø¿ª¼
|
| ¤ý¹ßÇàÀÏ |
2002³â 09¿ù 10ÀÏ |
| ¤ýÁ¤ °¡ |
23,000¿ø |
| ¤ýÆäÀÌÁö |
541 ÆäÀÌÁö |
| ¤ýISBN |
89-5674-008-9 |
| ¤ý³À̵µ |
Áß±Þ.»ó±Þ |
| ¤ýÃâÆÇ»ç |
Á¤º¸¹®È»ç |
|
|
|
|
|
|
|
 |
 |
.NET ÇÁ·¹ÀÓ¿öÅ©´Â ¸ðµç °³¹ß ¾ð¾î°¡ µ¿µîÇÑ ¼öÁØÀ¸·Î µ¿ÀÛÇÒ ¼ö ÀÖ´Â ÀåÀ» ¸¶·ÃÇÑ´Ù. ±×·¯¹Ç·Î, ÀÌÁ¦´Â ¿øµµ¿ìÁî ÀÀ¿ë ÇÁ·Î±×·¥ °³¹ß¿¡ C++¸¦ ÀÌ¿ëÇÑ´Ù°í ÇØµµ ´õ ÀÌ»ó ºü¸¥ ¼º´ÉÀ» Àå´ãÇÒ ¼ö ¾ø´Ù. ±×·¯³ª, Visual C++ .NETÀº °ü¸®µÇ´Â ÄÚµå¿Í °ü¸®µÇÁö ¾Ê´Â Äڵ带 È¥ÇÕÇÏ¿© »ç¿ëÇÒ ¼ö ÀÖ´Â À¯ÀÏÇÑ °³¹ß µµ±¸·Î¼ ±âÁ¸ ÄÚµåµéÀ» »õ·Î¿î .NET °³¹ß¿¡ ÅëÇÕÇÒ ¼ö ÀÖ´Â À¯ÀÏÇÑ ÇØ°áÃ¥ÀÌ´Ù. ¶ÇÇÑ, ATLÀ» À¥ ¾îÇø®ÄÉÀÌ¼Ç °³¹ß ºÐ¾ß·Î È®ÀåÇÔÀ¸·Î¼ ASP.NETÀ¸·Î °³¹ßµÈ ¾î¶°ÇÑ ¼ÒÇÁÆ®¿þ¾îÀÇ ¼º´ÉÀ» ¶Ù¾î³Ñ´Â À¥ ¼ºñ½º¸¦ ÀÛ¼ºÇÒ ¼ö ÀÖµµ·Ï ÇÑ´Ù.
ÀÌ Ã¥¿¡¼´Â ÀÌ µÎ ¹æ¸é ¸ðµÎ¸¦ »ìÆìº¼ °ÍÀÌ´Ù. Ã¥ÀÇ ¾ÕºÎºÐ¿¡¼´Â .NET ÇÁ·¹ÀÓ¿öÅ©¿Í ±×¿¡ °ü·ÃµÈ C++ ¾ð¾î·Î¼ÀÇ ¸é¸ð¸¦ »ìÆìº¸°í, ³ª¸ÓÁö µÞ ºÎºÐ¿¡¼´Â ±âÁ¸ C++ ÇÁ·Î±×·¡¹ÖÀ¸·Î ºÐ»ê ÄÄÇ»ÆÃ ºÐ¾ß¿¡¼ ¾î¶»°Ô Áß¿äÇÑ ¿ªÇÒÀ» ¼öÇàÇÒ ¼ö ÀÖ´ÂÁö »ìÆìº»´Ù.
ÀÌ Ã¥À» Àбâ À§ÇØ ÇÊ¿äÇÑ Áö½Ä ÀÌ Ã¥Àº Visual C++ .NETÀÇ »õ·Î¿î ±â´É¿¡ ´ëÇÑ ¸ñÀû ¹× Àǹ̸¦ ÆÄ¾ÇÇϰíÀÚ ÇÏ´Â ±âÁ¸ Visual C++ °³¹ßÀÚ¸¦ ÁÖ µ¶ÀÚÃþÀ¸·Î ÇÑ´Ù. ±×·¯¹Ç·Î COM°ú ATL µî¿¡ ´ëÇØ¼´Â Ä£¼÷ÇÏ´Ù°í °¡Á¤Çϸç, .NET ÇÁ·¹ÀÓ¿öÅ©¿¡ ´ëÇØ¼´Â Ưº°ÇÑ Áö½ÄÀ» ÇÊ¿ä·Î ÇÏÁö ¾Ê´Â´Ù.
ÀÌ Ã¥¿¡¼ ¹è¿ï ¼ö ÀÖ´Â °Íµé Visual C++ °³¹ß ȯ°æÀÇ ÁÖ¿ä º¯°æ »çÇ× ¹× Çâ»óµÈ Á¡ È®Àå C++ ¾ð¾î¿¡ ´ëÇÑ ÀüüÀûÀÎ ¼Ò°³ .NET°ú COM ÇÁ·Î±×·¡¹Ö¿¡¼ ¾îÆ®¸®ºäÆ®ÀÇ ¿ªÇÒ °ÇÑ À̸§°ú ¹öÀü °ü¸®¸¦ Áö¿øÇÏ´Â ¾î¼Àºí¸® °ü¸®µÇ´Â ÄÚµå¿Í °ü¸®µÇÁö ¾Ê´Â Äڵ尣 »óÈ£¿î¿µ¼º COM°ú .NET »óÈ£¿î¿µÀ» À§ÇÑ RCW ¸ÞÄ¿´ÏÁò ATL 7.0, ATL ¼¹ö, ATL ¼¹ö À¥ ¼ºñ½º À©µµ¿ì Ŭ·¡½º ¶óÀ̺귯¸®·Î¼ÀÇ .NET ÇÁ·¹ÀÓ¿öÅ©
 |
| |
 |
 |
Çѵ¿¾È .COM(´åÄÄ) ¿Ç³ÀÌ Àü ¼¼°èÀûÀ¸·Î ¸ô¾ÆÄ£ ÀûÀÌ ÀÖ´Ù. ±¹³»´Â ¹°·Ð ¹Ì±¹¿¡¼µµ ´åÄÄ ±â¾÷µéÀÌ ¿ìÈÄÁ×¼øÃ³·³ â¾÷Çϰí À¯´ÉÇÑ ÀÎÀçµéÀÌ ¿ø´ëÇÑ ²ÞÀ» ¾È°í ´åÄÄ ±â¾÷À¸·Î ÀÌÁ÷À» ¼µÑ·¶´Ù. ÇÏÁö¸¸, ¸î ³â Áö³ªÁö ¾Ê¾Æ ½ÃÀåÀº ±Þ¼ÓÈ÷ ³Ã°¢µÇ¾úÀ¸¸ç ¸¹Àº ´åÄÄ ±â¾÷µéÀÌ ¸ô¶ôÀÇ ±æ·Î Á¢¾îµé°Ô µÇ¾ú´Ù.
2002³â Áö±Ý ¿©ÀüÈ÷ ¸¹Àº ¼öÀÇ ´åÄÄ ±â¾÷µéÀÌ Á¸ÀçÇϰí ÀÖÁö¸¸ ½ÇÁúÀûÀÎ ¼öÀÍ ¸ðµ¨À» °¡Áø ¾÷ü´Â ±×¸® ¸¹Áö ¾ÊÀº °ÍÀÌ Çö½Ç·Î º¸ÀδÙ. ÃÖ±Ù¿¡ ±¹³»ÀÇ ´ëÇ¥ÀûÀÎ ¸ð ´åÄÄ ±â¾÷Àº ¿Â¶óÀÎ ¿ìÇ¥Á¦¶ó´Â ¼öÀÍ ¸ðµ¨À» µé°í ³ª¿Í ¾÷°è¿¡ Å« ¹ÝÇâÀ» ÀÏÀ¸Å°°í ÀÖÁö¸¸ ¸»ÀÌ´Ù(¹°·Ð, ºÎÁ¤ÀûÀÎ ½Ã°¢µµ ¸¸¸¸Ä¡ ¾Ê´Ù). Microsoft°¡ »õ·Ó°Ô ¹ßÇ¥ÇÑ .NET(´å³Ý) ±â¼úÀº ÀÌ¿Í °°Àº .COM ±â¾÷µé¿¡ ¶Ç´Ù½Ã »õ·Î¿î Èñ¸ÁÀÇ Ã»»çÁøÀ» Á¦°øÇϰí ÀÖ´Ù. MS ºô °ÔÀÌÃ÷ ȸÀåÀÇ "Software as Service"¶ó´Â ¸»Ã³·³, ¼ºñ½º·Î¼ÀÇ ¼ÒÇÁÆ®¿þ¾îÀÇ ¼¼°è°¡ Çö½ÇÀÌ µÈ´Ù¸é ¾öû³ ¼öÀÍÀ» ³¾ ¼ö ÀÖ´Â ±âȸ°¡ ¿¸± ¼ö Àֱ⠶§¹®ÀÌ´Ù.
.NETÀº MicrosoftÀÇ ¿©·¯ ÇÙ½É ±â¼ú ºÐ¾ß¸¦ À¶ÇÕ½ÃŰ°í °³¹æµÈ À¥ ȯ°æ ±â¼úÀ» ÅëÇÕÇÏ¿© ¼ºñ½º·Î¼ÀÇ ¼ÒÇÁÆ®¿þ¾î¸¦ ±¸ÃàÇϱâ À§ÇÑ È¯°æ ¹× °³¹ß µµ±¸¸¦ Á¦°øÇÏ°Ô µÉ °ÍÀÌ´Ù. ƯÈ÷, Visual Studio .NETÀº ÀÌ·¯ÇÑ .NET ȯ°æÀ» ½ÇÁúÀûÀ¸·Î ±¸ÃàÇϱâ À§ÇÑ µµ±¸·Î¼ ¸Å¿ì Áß¿äÇÑ À§Ä¡¸¦ Â÷ÁöÇϰí ÀÖÀ¸¸ç °³¹ßÀڵ鿡°Ô 21¼¼±â µé¾î °¡Àå ¸¹Àº °ü½ÉÀ» ²ø°í ÀÖ´Â Á¦Ç°À¸·Î »ý°¢µÈ´Ù.
ÇÊÀÚ´Â 1999³â ¿©¸§ ¹Ì±¹ÀÇ ¿Ã·£µµ ½ÃƼ¿¡¼ °³ÃÖµÈ Microsoft PDC¿¡ Âü¼®ÇÑ °æÇèÀÌ ÀÖ´Ù. ÀÌ ÄÁÆÛ·±½ºÀÇ ÁÖ¿ä ÁÖÁ¦´Â 2002³â¿¡ ¹ßÇ¥µÉ .NET Á¦Ç°¿¡ ´ëÇÑ ¼Ò°³¿´´Ù. ºô °ÔÀÌÃ÷ ¹× MSÀÇ ÁÖ¿ä ±â¼úÀÚµéÀÌ ¹ßÇ¥ÀÚ·Î Âü¼®ÇÏ¿© ¹Ì·¡ÀÇ ¼ÒÇÁÆ®¿þ¾î ȯ°æ¿¡ ´ëÇÑ Àü¸ÁÀ» Àå¹Ìºû û»çÁøÀ¸·Î Á¦½ÃÇÏ´ø ±â¾ïÀÌ ¾ÆÁ÷µµ »ý»ýÇÏ´Ù. PDC´Â .NET°ú °ü·ÃµÈ ÁÖ¿ä Á¦Ç° ¹× ±â¼úµé¿¡ ´ëÇÑ ¿¶í ¹ßÇ¥ÀÇ ÀåÀ̾ú´Ù. C#, VB .NET, XML À¥ ¼ºñ½º µî ±×µ¿¾È º¸Áö ¸øÇß´ø »õ·Î¿î ±â¼úÀ̳ª °³³ä ȤÀº ±âÁ¸ ±â¼úÀÇ Áøº¸µÈ ÇüŰ¡ ¹ßÇ¥µÉ ¶§¸¶´Ù Âü¼®ÇÑ °ü°èÀÚµéÀº ¿È¿Í °°Àº ȯȣ¿Í ¹Ú¼ö¸¦ º¸³»°ï Çß¾ú´Ù. ±×·±µ¥, ÇÊÀÚ°¡ ±×¶§ °¡Áø ´À³¦ Áß Çϳª´Â C++ÀÇ °æ¿ì .NET°ú °ü·ÃµÈ º°´Ù¸¥ »õ·Î¿î ¼½¼ÇÀÌ ¾ø¾ú´Ù´Â °ÍÀÌ´Ù. ´ëºÎºÐÀÌ COM¿¡ °ü·ÃµÈ ÁøºÎÇÑ(?) ¼½¼ÇÀ̰ųª ATL ¼¹ö¶ó´Â »ý¼ÒÇÏÁö¸¸ °á±¹ ±âÁ¸ ATL°ú ±×´ÙÁö ´Ù¸¦ °Í °°Áö ¾ÊÀº Á¦¸ñÀÇ ¼½¼Ç¸¸À» Á¦°øÇϰí ÀÖ¾ú´Ù.
"¾î¶ó? Visual C++´Â .NETÀÌ ³ª¿À¸é Âù¹ä ½Å¼¼ ¾Æ³Ä?" ºÒÇöµí ÀÌ·± »ý°¢ÀÌ ¸Ó¸®¸¦ ½ºÄ¡°í Áö³ª°¬°í Çѱ¹¿¡ ±Í±¹ÇÏÀÚ¸¶ÀÚ ºÎ¸®³ªÄÉ C# ½ºÆÑ ¹× ÄÄÆÄÀÏ·¯¸¦ ±¸Çؼ °³ÀÎÀûÀÎ ½ºÅ͵𸦠½ÃÀÛÇß´Ù(´ç½Ã ÇÊÀÚ´Â Çѱ¹ Microsoft¿¡ ±Ù¹«Çϰí ÀÖ¾î ³»ºÎ ¹öÀüÀÇ .NET °³¹ß ȯ°æÀ» ±¸ÇÒ ¼ö ÀÖ¾ú´Ù).
ÇÏÁö¸¸, ¸·»ó Visual Studio .NETÀÌ ¼¼»ó¿¡ ¹ßÇ¥µÇ°í ³ª¼ ±× ¼ÓÀ» °¡¸¸È÷ µé¿©´Ùº¸´Ï Visual C++´Â ¿©ÀüÈ÷ ÃÖ°í¸¦ ¿øÇÏ´Â °³¹ßÀڵ鿡°Ô´Â ¾ø¾î¼´Â ¾ÈµÇ´Â °ÍÀ̶ó´Â Áß¿äÇÑ À§Ä¡¸¦ ³»ÁÖÁö ¾Ê°í ÀÖ¾ú´Ù. ºñ·Ï C#ÀÌ È·ÁÇÑ ½ºÆ÷Æ® ¶óÀÌÆ®¸¦ ¹Þ°í´Â ÀÖÁö¸¸ Àý´ë °£°úÇÒ ¼ö ¾ø´Â Áß¿äÇÑ Â÷ÀÌÁ¡À» C++´Â °¡Áö°í ÀÖ´Â °ÍÀÌ´Ù.
Visual Studio .NET¿¡¼ Native Äڵ带 »ý¼ºÇÒ ¼ö ÀÖ´Â °³¹ß µµ±¸´Â Visual C++ »ÓÀÌ´Ù. Áï, ¿î¿µÃ¼Á¦ ½Ã½ºÅÛ°ú °¡Àå ¹ÐÁ¢ÇÑ Äڵ带 ÀÛ¼ºÇÒ ¼ö ÀÖ°í °¡Àå ÃÖÀûÈµÈ Äڵ带 ÀÛ¼ºÇÒ ¼ö ÀÖ´Â °³¹ß ÅøÀº C++¶ó´Â °ÍÀÌ´Ù. ¶ÇÇÑ, Native ÄÚµå»Ó¸¸ÀÌ ¾Æ´Ï¶ó È®Àå Ű¿öµå¸¦ ÀÌ¿ëÇÏ¿© .NET Äڵ带 100% ÀÛ¼ºÇÒ ¼ö ÀÖ´Ù. ÀÌ »Ó¸¸ÀÌ ¾Æ´Ï´Ù. ÇÑ ÇÁ·ÎÁ§Æ®, ½ÉÁö¾î ÇÑ ÆÄÀÏ ¾È¿¡¼ .NET ÄÚµå¿Í ±âÁ¸ C++ Äڵ带 È¥ÇÕÇÏ¿© ÀÛ¼ºÇÒ ¼ö ÀÖ´Â À¯¿¬ÇÑ °³¹ß ȯ°æÀ» Á¦°øÇϰíÀÖ°í ±âÁ¸ ÄÚµå¿ÍÀÇ ÈǸ¢ÇÑ È£È¯¼ºÀ» Á¦°øÇÑ´Ù. À̿ʹ º°µµ·Î Ư¼ºÀ» ÀÌ¿ëÇÏ¿© COM ÇÁ·Î±×·¥À» ÀÛ¼ºÇÒ ¼ö ÀÖµµ·Ï °³¼±µÇ¾î ±× ¾î¶² µµ±¸¿¡ ºñÇØ °£ÆíÇÏ°Ô COM ÇÁ·Î±×·¥À» °³¹ßÇÒ ¼ö ÀÖ°Ô µÇ¾ú´Ù. ¶ÇÇÑ, ATL ¼¹ö´Â XML À¥ ¼ºñ½º¸¦ °¡Àå ºü¸£°í È¿À²ÀûÀ¸·Î Á¦°øÇÒ ¼ö ÀÖµµ·Ï ÇÏ¿©, À¥ ±â¹ÝÀÇ ¼¹ö ÇÁ·Î±×·¥ ÀÛ¼º °³¹ßÀڵ鵵 ÇѹøÂë °ü½ÉÀ» °¡Áö°í °øºÎÇØº¸¾Æ¾ß ÇÒ ±â¼úÀ» Á¦°øÇϰí ÀÖ´Ù.
±âÁ¸ MFC, ATL µîÀÇ ¶óÀ̺귯¸®µµ È®Àå ¹ßÀüÇÏ¿´À¸¸ç MS Visual C++ ÆÀ¿¡ ½ºÅº ¸®ÇÁ¸Ç(±âÁ¸ AT&T ¿¬±¸¿øÀ¸·Î C++ Ä¿¹Â´ÏƼ¿¡ Å« ¿µÇâÀ» ÁÖ°í ÀÖ´Â °³¹ßÀÚ)ÀÌ Âü¿©ÇÔÀ¸·Î¼ ¸í½Ç°øÈ÷ Visual C++´Â ÃÖ½ÅÀÇ ANSI C++ Ç¥ÁØÀ» µû¸£´Â °³¹ß µµ±¸·Î¼ °Åµì³ª°í ÀÖ´Ù.
Áï, °á·ÐÀ» ¸»ÇÏÀÚ¸é ´ÙÀ½°ú °°´Ù. Visual C++´Â Visual Studio .NET °³¹ß µµ±¸ Áß À¯ÀÏÇÏ°Ô ½Ã½ºÅÛ Native Äڵ带 ÀÛ¼ºÇÒ ¼ö ÀÖ´Â µµ±¸À̸ç, .NET Äڵ带 ¿Ïº®ÇÏ°Ô °³¹ßÇÒ ¼ö ÀÖµµ·Ï Áö¿øÇϰí ÀÖÀ¸¸ç È¥ÇÕµÈ ÄÚµå ¿ª½Ã ÀÛ¼ºÀÌ °¡´ÉÇÏ´Ù. À¥ ¼ºñ½º °³¹ß ȯ°æ¿¡¼µµ ÃÖÀûÀÇ ¼º´ÉÀ» Á¦°øÇØÁÖ¸ç Ç¥ÁØ ANSI C++ Äڵ带 ¿Ïº®ÇÏ°Ô ÀÛ¼ºÇÒ ¼ö ÀÖµµ·Ï(ȤÀº, ¾ÕÀ¸·Î °¡´ÉÇϵµ·Ï) ÇÏ¿© Windows ȯ°æ¿¡¼ÀÇ °³¹ß»Ó¸¸ ¾Æ´Ï¶ó ¸ðµç ½Ã½ºÅÛ¿¡ ÀÌ½ÄµÉ ¼ö Àִ ǥÁØ C++ ÄÚµåÀÇ °³¹ßµµ °¡´ÉÇÏ°Ô ÇØÁÖ´Â °·ÂÇÑ °³¹ß µµ±¸ÀÌ´Ù.
ÀÌ Ã¥Àº À§¿Í °°ÀÌ °·ÂÇÑ µµ±¸·Î °Åµì³ Visual C++ÀÇ »õ·Î¿î ºÐ¾ßµéÀ» Æø³Ð°Ô ´Ù·ç°í ÀÖ´Ù. .NET °³¹ß, È¥ÇÕµÈ ÄÚµå °³¹ß, COM°úÀÇ °ü°è, ATL ¼¹ö, À¥ ¼ºñ½º °³¹ß µîÀÇ ¸Å¿ì ¸¹Àº ³»¿ëÀ» ´Ù·ç°í ÀÖ´Ù. Ã¥ÀÇ µÎ²²´Â º°·Î µÎ²®Áö ¾ÊÁö¸¸, ÀÌ ¸¹Àº ³»¿ëµéÀ» ³ª¸§´ë·Î ü°èÀûÀÌ°í °£°áÇÏ°Ô ´Ù·ç°í ÀÖ¾î Visual C++ .NETÀ» óÀ½ Á¢ÇÏ´Â °³¹ßÀÚµéÀ̶ó¸é, ±ÇÇÏ°í ½ÍÀº Ã¥ÀÌ´Ù. ÀÌ Ã¥À» µ¶ÆÄÇÒ ¶§ÂëÀ̸é Visual C++ .NETÀÌ °ú¿¬ ¿©·¯ºÐµéÀ» À§ÇØ ¾î¶°ÇÑ ´É·ÂÀ» Á¦°øÇÒ ¼ö ÀÖÀ» Áö¿¡ ´ëÇØ È®½ÇÇÏ°Ô ÆÄ¾ÇÇÒ ¼ö ÀÖÀ» °ÍÀ̶ó°í º»´Ù. |
| |
| |
 |
 |
| "Wrox-Wrox ±âŸ ½Ã¸®Áî" °ü·Ãµµ¼´Â ÃÑ 13±Ç ÀÔ´Ï´Ù. |
|
- expert one-on-one Oracle
|
|
- J2EE Design Patterns Applied
|
|
- Effective Visual Studio .NET
|
|
- GDI+ Programming : C#À» ÀÌ¿ëÇÑ »ç¿ëÀÚ ÁöÁ¤ ÄÁÆ®·Ñ ÀÛ¼ºÇϱâ
|
|
- ASP.NET Distributed Data Applications
|
|
- .NET Enterprise Development in C# : ¼³°è¿¡¼ ¹èÄ¡±îÁö
|
|
- ASP.NET Website Programming
|
|
- C# Programmers Reference
|
|
- Visual C++ .NET : a primer for C++ Developers
|
|
- C# Web Services
|
|
- Oracle 9i Java Programming
|
|
- ASP.NET Mobile Controls
|
|
- A Preview of Active Server Pages+
|
| |
|
|
 |
|
|