¼Ò¼³°°Àº ÀÚ¹Ù 4ºÎ  Á¦20Àå J N I  20.2 4´Ü°è  

 

    4´Ü°è : C¾ð¾î·Î Native Method ½ÇÁ¦ ±¸Çö

 

 ÀÌÁ¦ ½ÇÁ¦·Î È­¸é¿¡ ¡°Hello World!¡±¸¦ Ãâ·ÂÇÒ Native Method¸¦ ±¸ÇöÇÒ Â÷·Ê ÀÔ´Ï´Ù. Â÷·Ê´ë·Î Àß µû¶ó ÇÏ½Ã¸é ¾î·Á¿ï °ÍÀÌ ¾øÁÒ. ¿©±â¼­ ±¸ÇöµÉ Native Method´Â ¹Ýµå½Ã 3´Ü°è¿¡¼­ ¸¸µé¾ú´ø HelloWorld.h Çì´õ ÆÄÀÏ¿¡ Á¤ÀÇµÈ °Í°ú °°Àº ¿øÇüÀ» °¡Á®¾ß ÇÕ´Ï´Ù. C¾ð¾î¸¦ ¸ð¸£½Ã´õ¶óµµ, ¿©·¯ºÐÀº ÀÌ¹Ì ÀÚ¹Ù¶ó´Â ¾ð¾î¿¡ ´ÉÅëÇÏ½Ã´Ï °£´ÜÇÑ C¾ð¾î ¼Ò½º¸¦ º¸´Âµ¥ ¾î·ÆÁö ¾ÊÀ» °ÍÀÔ´Ï´Ù. ´ÙÀ½ÀÇ HelloWorld.c Äڵ带 ÂüÁ¶ÇϽʽÿÀ.

 

HelloWorld.c(¸Þ¼­µå¸¦ ½ÇÇàÇÒ C ¼Ò½º)

#include <jni.h>

#include "HelloWorld.h"

#include <stdio.h>

 

JNIEXPORT void JNICALL Java_HelloWorld_printHelloWorld (JNIEnv *env, jobject obj) {

   printf("Hello world!\n");

   return;

}

 

 ¸ÕÀú ¡®jni¡¯¿Í ¾Õ¿¡¼­ ¸¸µé¾ú´ø ¡®HelloWorld.h¡¯Çì´õÆÄÀÏ ¹× stdio.h¶ó´Â Çì´õ ÆÄÀÏÀ» include½Ãŵ´Ï´Ù. ¿©±â¼­, stdio.hÆÄÀÏÀº C¾ð¾î·Î ÇÁ·Î±×·¡¹ÖÀ» ÇÒ ¶§ ±âº»ÀûÀ¸·Î include½ÃŰ´Â ÆÄÀÏ·Î, C¾ð¾îÀÇ Ç¥ÁØ ÀÔ, Ãâ·Â µî ±âº»ÀûÀÎ ±â´ÉÀ» ´ã°í ÀÖ´Â ÆÄÀÏÀÔ´Ï´Ù. °£´ÜÈ÷ ¸»Çϸé printf¸¦ »ç¿ëÇÏ·Á¸é stdio.h¸¦ Æ÷ÇÔ½ÃÄÑ¾ß ÇÕ´Ï´Ù. ÀÚ¹Ù¿¡¼­ÀÇ java.lang ÆÐŰÁö¿Í ºñ½ÁÇÑ °ÍÀ̶ó°í »ý°¢ÇÏ½Ã¸é µÉ °ÍÀÔ´Ï´Ù.

 

n        #include <jni.h>

n        #include "HelloWorld.h"

n        #include <stdio.h>

 

 C¾ð¾îÀÇ Ç¥ÁØ Ãâ·Â ÇÔ¼öÀÎ printf()¸¦ »ç¿ëÇØ¼­ È­¸é¿¡ ¡°HelloWorld!¡±¸¦ Ãâ·ÂÇϰí ÀÖ½À´Ï´Ù.

 

n        printf("Hello world!\n");

 

ÀÚ¹Ù¿¡¼­´Â ´ÜÁö printHelloWorld()¸Þ¼­µå¸¦ È£ÃâÇÒ »ÓÀ̰í, ½ÇÁ¦ÀÇ ÀÛ¾÷Àº C¾ð¾îÀÇ printf()ÇÔ¼ö°¡ ½ÇÇàÇÕ´Ï´Ù.

 

¢Ñ 4 ´Ü°è

Native Method¸¦ ½ÇÁ¦·Î ±¸ÇöÇÑ´Ù

 3 ´Ü°è¿¡¼­ ¸¸µç Çì´õ ÆÄÀÏ¿¡ Á¤ÀÇµÈ ÇÔ¼öÀÇ ¿øÇüÀ» µû¸¥´Ù



jabookÀúÀÚ¸íÇÔ
Á¦¸ñ:¼Ò¼³°°ÀºÀÚ¹Ù4ºÎ
ÀúÀÚ:ÃÖ¿µ°ü