JNI
덤프버전 : r20240101
분류
Java Native Interface.
1. 개요[편집]
Java의 FFI로 Java 언어/JVM에서 C/C++ 언어의 함수를 호출하기 위한 API이다.
JDK10 미만은
javah
명령으로 C/C++ 헤더 파일을 생성할 수 있다. 그러나 JDK9 부터는 javah
명령이 Deprecated 되어, 소스 코드를 javac
로 컴파일 할 때 -h
옵션을 주면 헤더 파일을 자동 생성해준다. 이렇게 나온 헤더 파일에 맞춰 C/C++ 코드를 작성하게 된다.2. 사용 목적[편집]
주로 사용되는 목적은 다음과 같다.
3. 예제[편집]
4. JNA[편집]
유사 기술로 JNA(Java Native Access)가 있다. JNI가 자바 소스코드로 부터 헤더파일을 생성해 주는 것과 달리
libffi
라 불리는 Native Library를 사용하여 동적으로 Native 함수를 호출해 준다. 이 문서의 내용 중 전체 또는 일부는 2023-10-28 08:34:06에 나무위키 JNI 문서에서 가져왔습니다.