ÀÌÁ¦ ½ÇÁ¦·Î ȸ鿡 ¡°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ºÎ ÀúÀÚ:ÃÖ¿µ°ü |