JNI

최근 수정 시각: (5년 전)
목차
1. 개요2. 사용 목적3. 예제4. JNA

Java Native Interface.

1. 개요 [편집]

JavaFFI로 Java 언어/JVM에서 C/C++ 언어의 함수를 호출하기 위한 API이다.
javah 명령으로 C/C++ 헤더 파일을 생성하고 생성된 헤더 파일에 맞춰 C/C++ 코드를 작성하게 된다.

2. 사용 목적 [편집]

주로 사용되는 목적은 다음과 같다.
  • 이미 존재하는 방대한 C/C++ 코드를 활용하기 위해.
  • Java로 구현하면 너무 느린 기능의 속도 향상을 위해.
  • JVM에서 지원하지 않는 운영체제의 기능을 호출하기 위해.

3. 예제 [편집]

4. JNA [편집]

유사 기술로 JNA(Java Native Access)가 있다. JNI가 자바 소스코드로 부터 헤더파일을 생성해 주는 것과 달리 libffi라 불리는 Native Library를 사용하여 동적으로 Native 함수를 호출해 준다.

라이선스를 별도로 명시하지 않은 문서는 CC BY-NC-SA 2.0 KR에 따라 이용할 수 있습니다.
기여하신 문서의 저작권은 각 기여자에게 있으며, 각 기여자는 기여하신 부분의 저작권을 갖습니다.

문서의 기여자는 역사 탭에서 확인할 수 있습니다.
접두어의 N: - 나무위키 사용자, R: - 리그베다 위키의 사용자를 뜻합니다.
자세한 사항은 나무위키에서 동일한 문서의 역사를 참고하시기 바랍니다.