이 기사는 JNI 사용에 대한 간단한 소개(자세한 내용)를 제공합니다. 도움이 필요한 친구들이 참고할 수 있기를 바랍니다.
JNI를 사용하면 Java 코드에서 기본 라이브러리의 기능을 호출할 수 있습니다.
다음은 JNI를 사용하는 간단한 방법입니다
1. Java 측 인터페이스를 생성합니다
public class JNIIterface { // 导入最终生成的dll文件 static { System.loadLibrary("JNIDemo"); } // 声明dll文件中实现的接口 public native int MyMethod(); public native int add(int x, int y); }
2. 인터페이스# 🎜🎜#
위에서 생성한 JNIterface 클래스, JNIterface .class 파일의 경로: JNIDemobinbaseJNIterface .class프로젝트 디렉터리의 bin 디렉터리에서 명령을 실행합니다: javah -classpath . -jni base.JNIIterface그러면 JNIDemobin 디렉터리에 base_JNIIterface.h 파일이 생성됩니다3 Visual Studio를 사용하여 인터페이스 구현을 작성합니다. 🎜🎜#C 프로젝트 만들기, 특히 단계는 다음과 같습니다.
첫 번째 단계:
두 번째 단계:
#🎜🎜 #
세 번째 단계:
가져오기 header files
위의 두 번째 단계 변경 이 단계에서 생성된 헤더 파일과 jdk 루트 디렉터리의 include 디렉터리에 있는 jni.h 및 win32 디렉터리에 있는 jni_md.h 파일 include는 프로젝트 디렉토리의 헤더 파일 디렉토리에 복사됩니다#🎜🎜 #함수 구현 파일 생성
프로젝트에서 소스 파일을 마우스 오른쪽 버튼으로 클릭 디렉터리를 클릭하고 Add-》Class
#🎜 🎜#다음 코드를 작성합니다.
#include "base_JNIIterface.h" #include "jni.h" #include <stdio.h> JNIEXPORT jint JNICALL Java_base_JNIIterface_MyMethod (JNIEnv *, jobject){ printf("成功实现JNI测试DEMO"); return 0; } JNIEXPORT jint JNICALL Java_base_JNIIterface_add (JNIEnv *, jobject, jint a, jint b){ return a + b; }
4 dll 파일 #🎜🎜을 생성합니다. #프로젝트 디렉토리에서 "Solution"을 마우스 오른쪽 버튼으로 클릭하고 속성을 선택한 후 아래와 같이 구성합니다. 프로젝트
그런 다음 컴파일 후 프로젝트 디렉토리 #🎜🎜 #5 아래의 Release 디렉토리에 dll 파일이 됩니다. dll 파일을 java 프로젝트#🎜🎜로 구성하세요. #
먼저 Java 프로젝트의 루트 디렉토리 아래 lib 디렉토리에 dll 파일을 배치합니다그런 다음 아래 단계에 따라 dll 파일을 프로젝트에 네이티브 라이브러리로 추가합니다 #🎜🎜 #위 그림에 표시된 Native Library 위치를 편집한 후 팝업 인터페이스에서 Native Library를 선택합니다. 해당 폴더는
6. JNI가 성공적으로 적용되었는지 확인하는 테스트 클래스를 작성합니다. 공개 클래스 HelloJNI {public static void main(String[] args) { JNIIterface hw = new JNIIterface(); int t = hw.add(3, 7); int s = hw.MyMethod(); System.out.println(t); System.out.println(s); } }이후 테스트 결과
0 0 成功??JNI??DEMO위 내용은 JNI를 사용하는 가장 기본적인 단계를 기록한 것입니다.
시스템 dll 파일과 같이 이미 작성된 타사 dll 파일의 기능을 사용하는 방법에는 여전히 심층적인 탐색이 필요합니다.
위 내용은 Java에서 JNI의 간단한 사용 소개(자세히)의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!