À̹ø Àý¿¡¼´Â C¾ð¾î·Î ÀÛ¼ºµÈ ÇÁ·Î±×·¥À» ÀÚ¹Ù¿¡¼ ÀÌ¿ëÇÏ´Â ¹æ¹ýÀ» ¾Ë¾Æ º¸µµ·Ï ÇϰڽÀ´Ï´Ù. °¡Àå ±âº»ÀûÀÎ JNIÀÇ »ç¿ë¹ýÀÌ´Ï ÁÖÀÇ ±í°Ô »ìÆì º¸½Ã±â ¹Ù¶ø´Ï´Ù.
JNI´Â ÀÚ¹Ù°¡ ´Ù¸¥ ¾ð¾î·Î ¸¸µé¾îÁø ¾îÇø®ÄÉÀ̼ǰú »óÈ£ ÀÛ¿ëÇÒ ¼ö ÀÖ´Â ÀÎÅÍÆäÀ̽º¸¦ Á¦°øÇÑ´Ù°í Çß½À´Ï´Ù. ¿¹¸¦ µé¾î, C¾ð¾î·Î ¸¸µé¾îÁø ¾îÇø®ÄÉÀ̼ÇÀ» ÀÚ¹Ù¿¡¼ »ç¿ëÇÑ´Ù°í °¡Á¤Çϸé, ±×¸² 20-1ó·³ JNI´Â C¾ð¾îÂÊ¿¡´Â ¹Ì¸® ¸¸µé¾îÁø ¶óÀ̺귯¸®µé°ú ÇÔ¼ö¸¦ Á¦°øÇϰí, ÀÚ¹Ù ÂÊ¿¡µµ ¹Ì¸® ¸¸µé¾îÁø Ŭ·¡½º¿Í ¿¹¿Üó¸® ±×¸®°í °¡»ó¸Ó½ÅÀÇ Æ¯¼º µîÀ» Á¦°øÇÕ´Ï´Ù.
±×¸² 20-1 ÀÚ¹Ù¿Í C¾ð¾î »çÀÌ¿¡¼ ÀÎÅÍÆäÀ̽º ¿ªÇÒÀÇ JNI
±×¸²À» º¸¸é, JNI°¡ C¾ð¾î¿Í ÀÚ¹Ù »çÀÌ¿¡¼ ´Ù¸® ¿ªÇÒÀ» Çϰí ÀÖ´Â °ÍÀ» º¼ ¼ö ÀÖ½À´Ï´Ù. ´Ù½Ã ¸»Çϸé, C³ª C++¿¡¼ ¸¸µé¾îÁø ±â´ÉµéÀ» JNI¸¦ ÅëÇØ¼ ÀÚ¹Ù¿¡¼ ²ø¾î´Ù°¡ ¾´´Ù´Â °ÍÀÌÁÒ. ¹°·Ð ¹Ý´ëÀÇ °æ¿ìµµ ¼º¸³µË´Ï´Ù. JNI°¡ Á¦°øÇÏ´Â ÀÌ·¯ÇÑ ÀÎÅÍÆäÀ̽º¸¦ »ç¿ëÇØ¼ ¿ì¸®´Â ÀÚ¹Ù ÀÌ¿ÜÀÇ ¾ð¾îµé°ú »óÈ£ ÀÛ¿ëÀ» ÇÏ´Â °ÍÀÌ °¡´ÉÇÕ´Ï´Ù.
JNI°¡ Á¦°øÇÏ´Â ÀÎÅÍÆäÀ̽ºÀÇ »ç¿ë¹ýÀ» »ìÆì º¸±â À§ÇØ, °£´ÜÇÑ ¿¹Á¦¸¦ ¸¸µé¾î º¸°Ú½À´Ï´Ù. ¿ì¸®°¡ ¸¸µé ¿¹Á¦´Â µµ½º ÄܼÖâ¿¡ ¡°Hello World!¡±¸¦ Ãâ·ÂÇÏ´Â ÇÁ·Î±×·¥ÀÔ´Ï´Ù. ÇÏÁö¸¸, ¡°Hello World!¡±¸¦ Ãâ·ÂÇϱâ À§ÇØ ÀÚ¹Ù°¡ Á¦°øÇÏ´Â System.out.println()¸Þ¼µå¸¦ »ç¿ëÇÏÁö ¾Ê°í, C¾ð¾îÀÇ printf¶ó´Â ÇÔ¼ö¸¦ »ç¿ëÇÒ °ÍÀÔ´Ï´Ù. Áï, C¾ð¾î·Î ¡°Hello World!¡±¸¦ Ãâ·ÂÇÏ´Â ÇÔ¼ö¸¦ ¸¸µé°í, ÀÚ¹Ù¿¡¼ ÀÌ ÇÔ¼ö¸¦ È£ÃâÇÒ °ÍÀÔ´Ï´Ù. JNI¿¡¼´Â ÀÌ·¯ÇÑ ÇÔ¼ö¸¦ Native Method¶ó°í ºÎ¸¨´Ï´Ù.
¿ë¾îÀûÀÎ Ãø¸é¿¡¼ ÇÔ¼ö¿Í ¸Þ¼µå¸¦ È¥¿ëÇØ¼ »ç¿ëÇϰí Àִµ¥ À̰ÍÀº C¾ð¾î ÀýÂ÷ÁöÇâ ¾ð¾î¿¡¼´Â ã¾Æº¼ ¼ö ¾ø¾ú´ø JavaƯÀ¯ÀÇ Class¶õ °³³äÀ» µÞ¹Þħ ÇØ ÁÖ±âÀ§ÇØ ¡®Function¡¯À̶õ ¸»º¸´Ù´Â ³ÐÀº ¶æÀ» °¡Áø ¡®Method¡¯¶õ ¿ë¾î¸¦ »ç¿ëÇÏ´Â °ÍÀ¸·Î »ý°¢µÇ¾î Áý´Ï´Ù. ±×·¡¼ ÀÚ¹Ù¿¡¼´Â ¸Þ¼µå·Î ÅëÄªÇØ¼ »ç¿ëÇÑ´Ù´Â °ÍÀº ÀÌ¹Ì ¾Ë°í ÀÖÀ¸¸®¶ó »ý°¢µË´Ï´Ù.
ÀÚ¹Ù ÇÁ·Î±×·¥ ³»¿¡¼ C·Î ¸¸µé¾îÁø Native Method¸¦ »ç¿ë Çϱâ À§Çؼ± ±âº»ÀûÀ¸·Î ´ÙÀ½ÀÇ 6´Ü°è¸¦ °ÅÃÄ¾ß ÇÕ´Ï´Ù.
n 1´Ü°è : Native Method¸¦ ¼±¾ðÇÏ´Â Àڹ٠Ŭ·¡½º ÀÛ¼º
n 2´Ü°è : 1´Ü°è¿¡¼ ÀÛ¼ºÇÑ Å¬·¡½º ÄÄÆÄÀÏ
n 3´Ü°è : javah¸¦ »ç¿ëÇØ¼ Native Method°¡ »ç¿ëÇÒ Çì´õ ÆÄÀÏ »ý¼º
n 4´Ü°è : C¾ð¾î·Î Native Method ½ÇÁ¦ ±¸Çö
n 5´Ü°è : C ÄÚµå¿Í Çì´õ ÆÄÀÏÀ» ÄÄÆÄÀÏ
n 6´Ü°è : ÀÚ¹Ù ÇÁ·Î±×·¥ ½ÇÇà
°¢ ´Ü°è¿¡ ¸ÂÃç, ¿¹Á¦¸¦ ÀÛ¼ºÇØ º¸°Ú½À´Ï´Ù
jabookÀúÀÚ¸íÇÔ |
Á¦¸ñ:¼Ò¼³°°ÀºÀÚ¹Ù4ºÎ ÀúÀÚ:ÃÖ¿µ°ü |