(ÀÌ ¹®¼ÀÇ ÃֽůÇÀº http://www.milkywaygalaxy.freeservers.com ¿¡¼ ±¸ÇÒ ¼ö ÀÖ´Ù)
ÀÌ ¹®¼ÀÇ ¸ñÀûÀº C++¿¡ °üÇÑ URL°ú C++ online Ã¥¿¡ ´ëÇÑ ¸µÅ©, C++ ÇÁ·Î±×·¡¹Ö ÆÁ µîÀ» Æ÷°ýÀûÀ¸·Î Á¦°øÇÏ´Â °ÍÀÌ´Ù. ¶ÇÇÑ, ÀÌ ¹®¼´Â Java ½ºÅ¸ÀÏÀÇ String class, string tokenizer, ¸Þ¸ð¸® ÇÔ¼öµî ÀϹÝÀûÀÎ C++ ÇÁ·Î±×·¥¿¡¼ ³Î¸® ¾²ÀÏ ¼ö ÀÖ´Â ¸¹Àº ÇÔ¼öµéÀ» Á¦°øÇÑ´Ù. C++ °ú Java´Â ¿À´Ã³¯ ¸¹Àº ¼ÒÇÁÆ®¿þ¾î ÇÁ·ÎÁ§Æ®¿¡¼ ¾²À̰í ÀÖ´Ù. ÇÁ·Î±×·¡¸Ó´Â C++°ú Java¸¦ ¹ø°¥¾Æ°¡¸ç ¾²°ÔµÉ °ÍÀ̰í, ÀÌ Java ½ºÅ¸ÀÏÀÇ class°¡ ¸Å¿ì À¯¿ëÇÔÀ» ¾Ë°Ô µÉ °ÍÀÌ´Ù. ÀÌ library¿Í C++ Ç¥ÁØ ¶óÀ̺귯¸®ÀÇ »ç¿ë¹ýÀ» ¾Ë·ÁÁÙ ´Ù¾çÇÑ ¿¹Á¦°¡ Á¦½ÃµÉ °ÍÀÌ´Ù.
ÀÌ ¹®¼´Â C++¿¡ ´ëÇÑ ±³°ú¼°¡ ¾Æ´Ï¸ç, ÀÌ¿¡ ´ëÇØ¼´Â ÀÌ¹Ì ¸î°¡Áö ÁÁÀº on-line Ã¥µéÀÌ ÀÖ´Ù. C++ÀÌ ²Ï ¿À·£½Ã°£µ¿¾È »ç¿ëµÇ¾î¿Ô±â ¶§¹®¿¡, ¸Å¿ì ¸¹Àº ¼öÀÇ C++ ¹®¼/±Û/Æ©Å丮¾óÀÌ ÀÎÅÍ³Ý»ó¿¡ Á¸ÀçÇÑ´Ù. ¸¸¾à ´ç½ÅÀÌ C++À» óÀ½ Á¢ÇÏ´Â °ÍÀ̰í, C++ ÇÁ·Î±×·¥À» Â¥ º» ÀûÀÌ ¾ø´Ù¸é, 13ÀýÀå¿¡ ¸µÅ©µÇ¾î ÀÖ´Â on-line C++ Ã¥À» ¸ÕÀú Àо°Å³ª, Amazon À̳ª barnes°ú °°Àº °÷¿¡¼ C++ Ã¥À» »ç º¼ °ÍÀ» ÃßõÇÑ´Ù.
´©±º°¡°¡ ¸»Çßµí - C/C++ ¾ð¾î´Â OS³ª µð¹ÙÀ̽ºµå¶óÀ̹ö, ºü¸¥ ÀÀ´äÀ» ÇÊ¿äÇÏ´Â real-time ÇÁ·Î±×·¥µîÀ» ¸¸µå´Â ½Ã½ºÅÛ ¿£Áö´Ï¾î³ª ¾²¶ó°í Çϰí, ´ç½ÅÀº 2002³âº¸´Ù ÄÄÇ»ÅͰ¡ ¸î¹é¸¸¹è »¡¶óÁú 2005³âÀ» »ý°¢Çϸé Java³ª PHP-scriptingÀ» ½á¾ßÇÑ´Ù. Çϵå¿þ¾î ´Â Á¡Á¡ ½Î¸é¼µµ, »¡¶óÁø´Ù.
C++Àº °¡Àå °·ÂÇÑ ¾ð¾îµé Áß ÇϳªÀ̰í, Java³ª PHP-scripting °°Àº °ÍÀÌ ³ªÅ¸³µÁö¸¸, ¾ÕÀ¸·Îµµ ¿À·£ ½Ã°£µ¿¾È ¾²ÀÌ°Ô µÉ °ÍÀÌ´Ù. ½Ç½Ã°£ÀÇ ¸Å¿ì ºü¸¥ ÀÀ´äÀ» ÇÊ¿äÇÏ´Â ÇÁ·Î±×·¥Àº C³ª C++À» ¾´´Ù. C++Àº ¸Å¿ì ºü¸£°Ôµ¿ÀÛÇϰí, ½ÇÁ¦·Î Javaº¸´Ù 10¹è¿¡¼ 20¹è Á¤µµ ºü¸£´Ù . Java´Â C++ÀÇ "ÀÚ¼Õ"ÀÌ´Ù. JavaÀÇ ´Ü ÇϳªÀÇ ¹®Á¦Á¡Àº ¹Ù·Î - "Java ´Â ´À¸®´Ù!!" . VMÀ§¿¡¼ µµ´Â Java ¹ÙÀÌÆ®ÄÚµå´Â ÄÄÆÄÀÏµÈ ½ÇÇàÄڵ庸´Ù ´À¸®´Ù. Java´Â JIT(Just-In-Time) ÄÄÆÄÀÏ·¯À§¿¡¼ ´õ ºü¸£°Ô µ¹Áö¸¸, ¿©ÀüÈ÷ C++º¸´Ù´Â ´À¸®´Ù. ÃÖÀûÈ µÈ C/C++ ÇÁ·Î±×·¥Àº JIT ³ª ±× ÀÌÀüÀÇ ÄÄÆÄÀÏ·¯·Î ÄÄÆÄÀÏ µÈ Java Äڵ庸´Ù ¾à 3 ¿¡¼ 4¹è Á¤µµ ºü¸£´Ù!! ±×·¸´Ù¸é, ¿Ö »ç¶÷µéÀÌ Java¸¦ ¾²´Â°¡? ÀÌ´Â Java°¡ ¼ø¼öÇÑ °´Ã¼ÁöÇâÀ» Áö¿øÇϰí, JavaÀÇ ÀÚµ¿ÈµÈ ¸Þ¸ð¸® °ü¸®·Î ÀÎÇØ ÇÁ·Î±×·¡¹ÖÇϱⰡ ½¬¿ì¸ç, ÇÁ·Î±×·¡¸ÓµéÀÌ Á÷Á¢ ¸Þ¸ð¸® °ü¸®Çϱ⸦ ½È¾îÇϱ⠶§¹®ÀÌ´Ù. ÀÌ ¹®¼´Â C++ÀÇ ¸Þ¸ð¸® °ü¸®¸¦ ÀÚµ¿ÈÇÏ¿© ÈξÀ »ç¿ëÇϱ⠽±°Ô ÇϰíÀÚ Çß´Ù. ¿©±â¼ ³ª¿À´Â library´Â C++À» Java ¸¸Å ½±°Ô ´À³¢°Ô ÇØÁÙ °ÍÀ̰í, C++ÀÌ Java¿Í °æÀïÇÒ ¼ö ÀÖµµ·Ï ÇØÁÙ °ÍÀÌ´Ù.
¼öµ¿ÀûÀÎ ¸Þ¸ð¸® °ü¸®¸¦ À§ÇØ C++ ÇÁ·Î±×·¥ µð¹ö±ëÀÇ ´ëºÎºÐ ½Ã°£ÀÌ ¼Ò¸ðµÈ´Ù. ÀÌ ¹®¼´Â µð¹ö±ë ½Ã°£À» ÁÙÀ̱â À§ÇÑ ¸î°¡Áö ¾ÆÀ̵ð¾î¿Í ÆÁÀ» ÁÙ °ÍÀÌ´Ù.
¾ðÁ¦ C++À» ½á¾ßÇÏ°í ¾ðÁ¦ Java/PHP¸¦ ½á¾ßÇϴ°¡?
¾Æ·¡¿Í °°Àº °æ¿ì¿£ C++À» ½á¶ó:
½ÇÇà¼Óµµ¿Í ¼º´ÉÀÌ ¸Å¿ì Áß¿äÇÑ ÇÁ·Î±×·¥À» ¸¸µé ¶§.
¸¸µå´Â ÇÁ·Î±×·¥ÀÇ »ç¿ëÀÚ ¼ö°¡ ¸¹À» ¶§. C++Àº ÄÄÆÄÀÏ-¸µÅ·-µð¹ö±ë »çÀÌŬÀÌ ÇÊ¿äÇϱ⠶§¹®¿¡, ÇÁ·Î±×·¥ °³¹ß¿¡ ´õ ¸¹Àº ½Ã°£ÀÌ ¼Ò¿äµÈ´Ù. µû¶ó¼ »ç¿ëÀÚ¼ö°¡ ÃæºÐÈ÷ ¸¹À» ¶§¿¡³ª Àû´çÇÏ´Ù. ½ÇÇàÆÄÀÏÀ» ¸¸µé±â À§ÇØ ¸¹Àº ¼öÀÇ objectÆÄÀÏÀ» ¸µÅ©ÇÏ´Â °ÍÀº ²Ï ½Ã°£ÀÌ °É¸°´Ù. (¸µÅ©Çϴµ¥ °É¸®´Â ½Ã°£À» ÁÙÀ̱â À§ÇØ archive³ª ¶óÀ̺귯¸®, °øÀ¯ ¶óÀ̺귯¸®¸¦ »ç¿ëÇÒ ¼öµµ ÀÖ´Ù.)
C++ÇÁ·Î±×·¡¹Ö °æÇèÀÌ ¸¹À» ¶§.
(C/C++·Î ÀÛ¼ºµÇ´Â °Í¿¡ ºñÇØ¼) ½ÇÇà¼Óµµ¿Í ¼º´ÉÀÌ Áß¿äÇÏÁö ¾ÊÀ» ¶§.
»ý»ê ºñ¿ëÀ» ³·Ãß±â À§ÇØ - ÄÄÆÄÀÏ-¸µÅ© »çÀÌŬÀÌ ¾ø±â ¶§¹®¿¡, Java/PHP´Â C++º¸´Ù °³¹ßÀÌ ºü¸£´Ù.
ºü¸¥ °³¹ßÀÌ ÇÊ¿äÇÒ ¶§.
ÄÚµå À¯Áöº¸¼ö¸¦ ½±°Ô Çϱâ À§ÇØ. C++ À» À¯Áöº¸¼öÇÏ´Â °ÍÀÌ Java³ª PHP-scripting º¸´Ù ÈξÀ ¾î·Æ´Ù.
Java¿Í PHP-scriptingÀº ¹Ì·¡ÀÌ´Ù, Çϵå¿þ¾îÀÇ ¼Óµµ´Â ºÐÀÚ¿Í ¿øÀÚ, ¿øÀÚº¸´Ù ÀÛÀº Å©±âÀÇ ÄÄÇ»ÅÍ µµÀÔ°ú ÇÔ²² ±ÞµîÇÒ °ÍÀÌ´Ù. ¹Ì·¡ÀÇ ÄÄÇ»ÅÍ´Â ¿À´Ã³¯ ÄÄÇ»ÅÍÀÇ ¼öÁ¶¹èÀÇ ¼º´ÉÀ» °¡Áú °ÍÀÌ´Ù. ¹Ì·¡¿¡ Çϵå¿þ¾î ¼º´ÉÀÌ Áøº¸ÇÔ°ú ÇÔ²², Java³ª PHP-scriptÀÇ ½ÇÇà ¼º´ÉÀº Áß¿äÄ¡ ¾Ê°Ô µÉ °ÍÀÌ´Ù. ¿À´Ã³¯ ´ç½ÅÀÌ ¾²´Â ÄÄÇ»ÅÍ(ÇöÀç´Â 2002³âÀÌ´Ù.)´Â ¾öû³ª°Ô ´À¸®°í, ±â¾î°¡°í ÀÖÀ¸¸ç, ÃæºÐÈ÷ ºü¸£Áö ¸øÇÏ´Ù.
NOTE: Java ÄÄÆÄÀÏ·¯ (JIT ³ª ´Ù¸¥ °Íµé)¿¡ ¸¹Àº Áøº¸°¡ ÀÖ¾ú´Ù. Java ÇÁ·Î±×·¥Àº GNU GCJ http://gcc.gnu.org/java·Î ÄÄÆÄÀÏ µÉ ¼ö ÀÖ´Ù. GCJ´Â °£ÆíÇϰí, ÃÖÀûȵǾîÀÖÀ¸¸ç, Áøº¸ÀûÀÎ Java ÇÁ·Î±×·¡¹Ö ¾ð¾î¸¦ À§ÇÑ ÄÄÆÄÀÏ·¯ÀÌ´Ù. GCJ´Â Java source Äڵ带 ¸Ó½Å ÄÚµå·Î ¹Ù·Î ÄÄÆÄÀÏ ÇÒ ¼öµµ ÀÖ°í, Java ¹ÙÀÌÆ®ÄÚµå(class file)·Î ÄÄÆÄÀÏ ÇÒ ¼öµµ ÀÖ´Ù.
GCJ Á¤º¸:
GNU GCJ ȨÆäÀÌÁöhttp://gcc.gnu.org/java,
GNU GCJ ÀÇ Redhat RPM http://www.redhat.com/apps/download. ¿©±â·Î °¡¼ "Find lastest RPMs" section¿¡¼ 'gcc-java'¿Í 'libgcj'·Î searchÇÏ¸é µÈ´Ù.
Redhat GCJ ¼³Ä¡ °¡À̵å http://www.redhat.com/devnet/articles/gcj.pdf
¾ð¾îÀÇ ¼±ÅÃÀº ¾î·Á¿î ÀÏÀÌ´Ù. ¿©±â¿£ ³Ê¹«³ª ¸¹Àº °í·ÁÇÒ »çÇ×ÀÌ ÀÖ´Ù - °³¹ßÀÚ, »ç¶÷ÀÇ ´É·Â, ºñ¿ë, Åøµé, Á¤Ã¥ (±¹°¡ÀÇ Á¤Ä¡ Á¤Ã¥±îÁöµµ), »ç¾÷°¡³ª ȸ»çµé¿¡ ´ëÇÑ ¿µÇâ±îÁö. ±â¼úÀûÀÎ ÀÌÀ¯·Î´Â ÃÖÀûÀÇ ¾ð¾îÀÏÁö¶óµµ ´Ü¼øÈ÷ Á¤Ä¡ÀûÀÎ °áÁ¤À¸·Î ÀÎÇØ ¼±ÅõÇÁö ¸øÇÒ ¼öµµ ÀÖ´Ù.
David WheelerÀÇ ¾ð¾î ºñ±³¸¦ º¸ÀÚ. Ada ºñ±³ Â÷Æ®. Ada°¡ 93%, Java´Â 72%, C++Àº 68% C´Â 53%À» °¢°¢ ¹Þ¾Ò´Ù. C++°ú Java´Â Á¡¼ö¸é¿¡¼´Â ºñ½ÁÇÏ´Ù (4% Â÷ÀÌ). AdaÀÇ °³¹ß ºñ¿ëÀº Stephen F. Zeigler¿¡ µû¸£¸é C++ÀÇ ¹ÝÀýÀÌ´Ù. Ada95´Â ¾Æ·¡¿¡¼ ±¸ÇÒ ¼ö ÀÖ´Ù -
Ada ȨÆäÀÌÁö http://www.gnuada.org.
Google Ada index
C++ ÄÄÆÄÀÏ·¯´Â C ÄÄÆÄÀÏ·¯º¸´Ù ÈξÀ º¹ÀâÇϰí, C++Àº Cº¸´Ù ¾à°£ ´À¸®°Ô µ¿ÀÛÇÒ ¼ö ÀÖ´Ù. C ÄÄÆÄÀÏ·¯´Â ÃæºÐÈ÷ ¿À·¨µ¿¾È Àß ¾²¿©Á®¿Ô´Ù.
¸î¸î ½Ã½ºÅÛ¿¡¼, ´ç½ÅÀº »ý¼ºµÈ Äڵ带 ÃÖÀûÈ Çϱâ À§ÇØ ¸î°¡Áö ¿É¼ÇÀ» ¾µ ¼ö ÀÖ´Ù.
¿À´Ã³¯, C´Â ÁÖ·Î ¿î¿µÃ¼Á¦³ª µð¹ÙÀ̽º µå¶óÀ̹ö, ºü¸£°Ô ÀÛµ¿ÇؾßÇÏ´Â ÇÁ·Î±×·¥À» ¾²±â À§ÇØ ·Î¿ì·¹º§ ½Ã½ºÅÛ ÇÁ·Î±×·¡¹Ö¿¡ ¾²ÀδÙ.
Note: ÀÌ HOWTO¿¡ Á¦°øµÇ´Â String, StringBuffer, StringTokenizer class¸¦ ÀÌ¿ëÇÏ¿© C++ Äڵ带 Java¿Í ¿ÏÀüÈ÷ ¶È°°ÀÌ ¾µ ¼ö ÀÖ´Ù. ÀÌ ¹®¼ÀÇ ÀϺδ C++·Î Java class¸¦ Èä³»³¿À¸·Î½á C++°ú JavaÀÇ Â÷À̸¦ ÁÙÀ̰íÀÚ Çß´Ù. C++°ú Java¸¦ ¿Ô´Ù°¬´ÙÇÏ´Â Java ÇÁ·Î±×·¡¸ÓµéÀº ÀÌ String class¸¦ ÁÁ¾ÆÇÒ °ÍÀÌ´Ù.
¸¸¾à C++ÀÇ ÀÛ¼º-ÄÄÆÄÀÏ-µð¹ö±ë-ÄÄÆÄÀÏ ½ÎÀÌŬÀÌ ½È´Ù¸é, web °³¹ßÀ̳ª ÀϹÝÀûÀÌ ÇÁ·Î±×·¡¹Ö¿¡ ¾²ÀÏ ¼ö ÀÖ´Â PHP°°Àº script ¾ð¾î¸¦ ¾Ë¾Æº¸¾Æ¶ó. PHP³ª PERL°°Àº script¾ð¾î´Â ºü¸¥ ¾îÇø®ÄÉÀÌ¼Ç °³¹ßÀ» °¡´ÉÇÏ°Ô ÇÑ´Ù. PHP´Â ¸î°¡Áö °´Ã¼ÁöÇâÀ» À§ÇÑ Æ¯Â¡µµ °®°í ÀÖ´Ù. PHP HOWTO´Â http://www.linuxdoc.org/HOWTO/PHP-HOWTO.html (Çѱ۹ø¿ª) ¿¡¼ º¼ ¼ö ÀÖ´Ù.
C++Àº C¸¦ Æ÷ÇÔÇϱ⠶§¹®¿¡, CÀÇ *³ª»Û* Á¡µéÀ» ¸ðµÎ °®°í ÀÖ´Ù. ¸Þ¸ð¸®ÀÇ ¼öµ¿ ÇÒ´ç°ú ÇØÁ¦´Â Áö·çÇϰí, ¿¡·¯¸¦ ¸¸µé¾î³»±â ÀϾ¥ÀÌ´Ù. ( 9.3Àý ¸¦ º¸¶ó).
C ÇÁ·Î±×·¡¹Ö¿¡¼´Â ´ÙÀ½°ú °°Àº °Íµé·Î ÀÎÇØ ¸Þ¸ð¸® ¸¯À̳ª ¿À¹öÇ÷ο찡 ¸Å¿ì ÈçÇÏ´Ù.
Datatype char * and char[] String functions like strcpy, strcat, strncpy, strncat, etc.. Memory functions like malloc, realloc, strdup, etc.. |
char *¿Í strcpyÀÇ »ç¿ëÀº "¿À¹öÇ÷οì", "°æ°èħ¹ü¿¡·¯(fence past errors)", "¸Þ¸ð¸® ¿À¿°(memory corruption)", "´Ù¸¥º¯¼ö ħ¹ü(step-on-others-toe)" À̳ª "¸Þ·Î¸® ¸¯(memory leaks)" µîÀÇ ²ûÂïÇÑ ¸Þ¸ð¸® ¹®Á¦¸¦ ÀÏÀ¸Å²´Ù. ¸Þ¸ð¸® ¹®Á¦´Â ¸Å¿ì µð¹ö±ëÀÌ Èûµé°í, µû¶ó¼ °íÄ¡±â´Âµ¥ ¸¹Àº ½Ã°£ÀÌ µç´Ù. ¸Þ¸ð¸® ¹®Á¦´Â ÇÁ·Î±×·¡¸ÓÀÇ »ý»ê¼ºÀ» ¶³¾î¶ß¸°´Ù. ÀÌ ¹®¼´Â C++ÀÇ ÀÌ·¯ÇÑ ´ÜÁ¡À» ÇØ°áÇϱâ À§ÇØ °í¾ÈµÈ ¿©·¯°¡Áö ¹æ¹ýµéÀ» ÅëÇØ ÇÁ·Î±×·¡¸ÓÀÇ »ý»ê¼ºÀ» ³ôÀ̴µ¥ µµ¿òÀ» ÁÖ°íÀÚ ÇÑ´Ù. ¸Þ¸ð¸® °ü·Ã ¹ö±×´Â Àâ±â Èûµé°í, °æÇ踹Àº ÇÁ·Î±×·¡¸Óµéµµ ¸Þ¸ð¸® °ü·Ã ¹®Á¦¸¦ °íÄ¡´Â µ¥´Â ¸çÄ¥¿¡¼ ¸îÁÖ°¡ °É¸°´Ù. ¸Þ¸ð¸® ¹ö±×´Â ¸î´Þµ¿¾È ÄÚµå ¼Ó¿¡ ¼û¾î¼ °©ÀÛ½º·± ÇÁ·Î±×·¥ Á¤Áö¸¦ ÀÏÀ¸Å³ ¼ö ÀÖ´Ù. char * ¿Í C/C++¿¡¼ÀÇ Æ÷ÀÎÅÍ »ç¿ëÀ¸·Î ÀÎÇÑ ¸Þ¸ð¸® ¹ö±×´Â µð¹ö±ë°ú ÇÁ·Î±×·¥ Á¤Áö·Î ÀÎÇØ ¸Å³â 20¾ï ´Þ·¯¿¡ ÇØ´çÇÏ´Â ½Ã°£ÀÇ ¼Ò¸ð¸¦ ÀÏÀ¸Å²´Ù. ¸¸¾à C++¿¡¼ char * °ú Æ÷ÀÎÅÍ ¸¦ »ç¿ëÇÑ´Ù¸é, ÀÌ´Â ¸Å¿ì Èûµç ÀÏÀÌ µÉ °ÍÀÌ´Ù. ƯÈ÷ ÇÁ·Î±×·¥ÀÇ Å©±â°¡ 10,000 ÁÙ ÀÌ»óÀÏ ¶§.
µû¶ó¼, ¾Æ·¡ÀÇ °ÍµéÀÌ C-style¿¡¼ÀÇ ¹®Á¦Á¡À» ±Øº¹Çϱâ À§ÇØ Á¦¾ÈµÇ¾ú´Ù. ¾Õ¿¡ ³ª¿À´Â °ÍÀÌ ´õ ÁÁÀº °ÍÀÌ´Ù.
Æ÷ÀÎÅÍ ´ë½Å ·¹ÆÛ·±½º¸¦ »ç¿ëÇÑ´Ù.
(ÀÌ HOWTO¿¡ ÁÖ¾îÁø) Java Çü½ÄÀÇ class¸¦ »ç¿ëÇϰųª, C++ Ç¥ÁضóÀ̺귯¸®ÀÇ string class¸¦ »ç¿ëÇÑ´Ù.
C++¿¡¼ÀÇ ¹®ÀÚ Æ÷ÀÎÅÍ(char *) »ç¿ëÀº String class¸¦ »ç¿ëÇÏÁö ¸øÇÒ ¶§·Î ±× »ç¿ëÀ» Á¦ÇÑÇÑ´Ù.
¸¸¾à C++¿¡¼ÀÇ ¹®ÀÚ Æ÷ÀÎÅÍ(char *)¸¦ »ç¿ëÇÏ°í ½ÍÁö ¾ÊÀ» ¶§´Â, extern ¿¬°è¸¦ ÀÌ¿ëÇÏ´Â (char *)¸¦.
"CÀÇ char *"¸¦ »ç¿ëÇϱâ À§Çؼ´Â, C ÇÁ·Î±×·¥À» ´Ù¸¥ ÆÄÀÏ¿¡ ³Ö°í, ¿¬°è¸í½Ã ¹® extern "C" ¸¦ ÀÌ¿ëÇÏ¿© C++ ÇÁ·Î±×·¥¿¡ ¸µÅ©ÇÑ´Ù -
extern "C" { #include <some_c_header.h> } extern "C" { comp(); some_c_function(); } |
extern "C" ´Â ¿¬°è ¸í½ÃÀ̰í, ¾ç Áß°ýÈ£·Î µÑ·¯½ÎÀÎ ºí·Ï¾ÈÀÇ ¸ðµç ³»¿ëÀÌ C++ÀÌ ¾Æ´Ñ CÀÇ ¿¬°è ¹æ¹ýÀ» »ç¿ëÇÑ´Ù´Â ¸»ÀÌ´Ù.
'String Ŭ·¡½º'´Â ¸Þ¸ð¸® ÇÒ´ç°ú ÇØÁ¦¸¦ À§ÇØ »ý¼ºÀÚ¿Í ÆÄ±«ÀÚ¸¦ ÀÌ¿ëÇϰí, ltrim, substring µîµî°ú °°Àº ÇÔ¼ö¸¦ Á¦°øÇÑ´Ù.
¶ÇÇÑ °ü·ÃµÈ 7Àý ¸¦ »ç¿ëÇÏ´Â C++ ÄÄÆÄÀÏ·¯¿¡¼ ã¾Æº¸¾Æ¶ó. string Ŭ·¡½º´Â Ç¥ÁØ C++ ¶óÀ̺귯¸®ÀÇ ÀϺÎÀ̰í, ¿©·¯°¡Áö ¹®ÀÚ¿ °ü·Ã ÇÔ¼ö¸¦ Á¦°øÇÑ´Ù.
C++ 'string Ŭ·¡½º' ¿Í 'String Ŭ·¡½º' ¶óÀ̺귯¸®°¡ ¸¹Àº ¹®ÀÚ¿ ÇÔ¼ö¸¦ Á¦°øÇϱ⠶§¹®¿¡, Á÷Á¢ ¹®ÀÚ¿ ÇÔ¼ö¸¦ ¾²±â À§ÇØ ¹®ÀÚ Æ÷ÀÎÅ͸¦ »ç¿ëÇÒ Çʿ伺ÀÌ °ÅÀÇ ¾ø´Ù. ¶ÇÇÑ, C++ ÇÁ·Î±×·¡¸Ó´Â Ç×»ó 'malloc'À̳ª 'free'´ë½Å 'new', 'delete'¸¦ »ç¿ëÇØ¾ß ÇÑ´Ù.
µÎ ¹®ÀÚ¿ Ŭ·¡½º´Â char * ³ª char []°¡ ÇÒ ¼ö ÀÖ´Â ¸ðµç ÀÏÀ» ÇÒ ¼ö ÀÖ´Ù. ±×¸®°í º¸ÅÂÁø ÁÁÀº Á¡Àº ¸Þ¸ð¸® ¹®Á¦³ª ¸Þ¸ð¸® ÇÒ´ç¿¡ ´ëÇØ ÀüÇô °ÆÁ¤ÇÒ Çʿ䰡 ¾ø´Ù´Â °ÍÀÌ´Ù.