Hello JNI
๋งฅ์์ Hello JNI!๋ฅผ ์ถ๋ ฅํ๋ Java ์์ฉํ๋ก๊ทธ๋จ์ ๊ฐ๋ฐํด ๋ณด์. ๋จ ์ด ์์ฉํ๋ก๊ทธ๋จ์ ๋ฌธ์์ด์ ์ถ๋ ฅํ๋ ๋ถ๋ถ์ C++ ๋ก ์์ฑํ ๊ฒ์ด๋ค.
๋ค์ดํฐ๋ธ ๋ผ์ด๋ธ๋ฌ๋ฅผ ์ฌ์ฉํ๋ Java ํด๋์ค ์์ฑํ๊ธฐ
java ์ฝ๋ ํ์ผ์ ์ปดํ์ผํ์ฌ classํ์ผ์ ๋ง๋ ๋ค.
JNI C++ ํ์ผ์ ๋ง๋ค๊ธฐ ์ํด์ javah๋ฅผ ์ด์ฉํด C++ ํค๋ํ์ผ์ ๋ง๋ ๋ค.
๋ง๋ค์ด์ง ํ์ผ์ ํ์ธํด ๋ณด์
JNI ํจ์๋ช ๊ณผ ์ธ์ํ์ ๋ฑ์ ๊ด๋ จ ๋ฌธ์๋ฅผ ์ฐธ๊ณ ํ๋ค. Java_HelloJNI_print ํจ์๋ฅผ ์์ฑํ๋ค.
HelloJNI ๋ค์ดํฐ๋ธ ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ฅผ ๋ง๋ค๊ธฐ ์ํด์๋ jni.h ํ์ผ์ ์์น๋ฅผ ์์์ผ ํ๋ค. ๋งฅ์์๋ ์๋์ ์์น์ ์๋ค.
์ปดํ์ผํด ๋ณด์
์ปดํ์ผํ๋ฉด HelloJNI.o ํ์ผ์ด ์์ฑ๋๋ค. ์ด์ ๋์ ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ฅผ ์์ฑํ๋ค. ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ช ์ ๋ฐ๋์ lib์ผ๋ก ์์ํด์ผ ํ๊ณ ํ์ฅ์๋ jnilib ์ด์ฌ์ผ ํ๋ค. ์ ์ปดํ์ผ๋ฌธ์์ jni.h๋ฅผ ์ฐพ์ ์ ์๋ค๋ ์ค๋ฅ๊ฐ ๋ฐ์ํ๋ฉด jni.h ๊ฐ ์๋ ๊ณณ์ ์ฐพ์์ ์ ์ด์ค์ผ ํ๋ค. ์๋์ฒ๋ผ ์ฌ๋ณผ๋ง ๋งํฌ๋ฅผ ์ง์ ๋ง๋ค์ด์ ์ฌ์ฉํด์ผ ํ๋ค. ์๋ฅผ ๋ค์ด /System/Library/Java/JavaVirtualMachines/Headers ํด๋๋ฅผ ๋ง๋ ํ ํด๋น ํด๋๋ก ์ด๋ํ ๋ค์ ์๋์ ๋ช ๋ น์ด๋ฅผ ์คํํ๋ค.
์คํํ๋ค
๋ง์ฝ ์๋์ ๊ฐ์ ๋งํฌ ์ค๋ฅ๊ฐ ๋ฐ์ํ๋ฉด ์คํํ ๋ ๋ค์ดํฐ๋ธ ๋ผ์ด๋ธ๋ฌ๋ฆฌ๊ฐ ์๋ ์์น๋ฅผ ์ค์ ํด์ผ ํ๋ค.
Last updated
Was this helpful?