-
나무위키, 유투브 JNI 영상들, 기타 웹사이트 등등,
JNI 를 설명하는 모든 곳에서, 가령, https://www.baeldung.com/jni, 에서
자바에서 호출할 것을 가정해서 아래와 같이 JNIEXPORT 로 함수를 정의하는
예제만 보여줍니다.JNIEXPORT void JNICALL Java_com_baeldung_jni_HelloWorldJNI_sayHello
(JNIEnv* env, jobject thisObject) {
std::cout << “Hello from C++ !!” << std::endl;
}이미 존재하는 방대한 C/C++ 함수들이 이렇게 정의된게 아닐텐데,
왜 모든 예제는 자바에서 호출할 것을 가정하고 함수를 정의하는 것만
보여주는 걸까요?잘못 이해하고 있다면, 한 수 지도 부탁드립니다.
참고:
나무위키, https://namu.wiki/w/JNI 에서 말하는 JNI 사용 목적:
이미 존재하는 방대한 C/C++ 코드를 활용하기 위해.
Java로 구현하면 너무 느린 기능의 속도 향상을 위해.
JVM에서 지원하지 않는 운영체제의 기능을 호출하기 위해.