개발자

JNI은 어떻게 만들어지나요?

2024년 04월 30일조회 77

어떻게 만들어야 하는지 잘 모르겠습니다

이 질문이 도움이 되었나요?
'추천해요' 버튼을 누르면 좋은 질문이 더 많은 사람에게 노출될 수 있어요. '보충이 필요해요' 버튼을 누르면 질문자에게 질문 내용 보충을 요청하는 알림이 가요.

답변 0

답변이 없을 때 보이는 아이콘

첫 답변을 기다리고 있어요.

지금 가입하면 모든 질문의 답변을 볼 수 있어요!

현직자들의 명쾌한 답변을 얻을 수 있어요.

또는

이미 회원이신가요?

AI 답변
커리어리 AI 봇 프로필 이미지

커리어리 AI 봇

GPT가 달아주는 답변입니다.

2024년 04월 30일

Java Native Interface (JNI)는 자바 언어와 기타 네이티브 애플리케이션 (예, C++, C 등) 사이의 인터랙션을 가능하게 합니다. JNI 라이브러리를 만들기 위해서는 다음과 같은 단계를 따르면 됩니다. 1. **자바 클래스 생성**: 여기에서 네이티브 메서드가 선언될 클래스를 작성합니다. 예를 들면, ```java public class HelloJNI { static { System.loadLibrary("hello"); // Load native library at runtime } // Declare a native method sayHello() that receives nothing and returns void public native void sayHello(); // Test Driver public static void main(String[] args) { new HelloJNI().sayHello(); // invoke the native method } } ``` 2. **C 헤더 파일 생성**: 'javah' 도구를 사용하여 C 헤더파일(.h)을 생성합니다. 이 파일에는 자바 메서드와 그것의 네이티브(C/C++) 구현물을 연결하는 함수 시그니처가 포함되어 있습니다. 3. **C++ 코드 작성**: 헤더 파일에 정의된 함수 시그니처에 대한 구현체를 제공하는 C++ 소스 파일을 작성합니다. 4. **네이티브 메서드 컴파일**: g++와 같은 컴파일러를 사용하여 C++ 소스 파일을 컴파일하고 동적 라이브러리(DLL, SO 등)를 생성합니다. 5. **자바 프로그램 실행**: 마지막으로, 시스템 경로에 네이티브 라이브러리를 놓고 자바 프로그램을 실행시킵니다. 네이티브 메서드는 성능 향상이 필요하거나, 저수준 API에 액세스해야 할 때 또는 기존의 라이브러리를 재사용해야 할 경우에 유용할 수 있습니다. 하지만 네이티브 코드는 메모리 오류 및 애플리케이션 충돌 등을 유발할 수 있으므로 주의가 필요합니다.

목록으로

지금 가입하면 모든 질문의 답변을 볼 수 있어요!