JNI 소개
JNI는 Java Native Interface의 약어로 Java와 다른 언어 (주로 C & C ++) 간의 커뮤니케이션을 구현하기위한 몇 가지 API를 제공합니다. Java 1.1에서 시작하여 JNI 표준은 Java 플랫폼의 일부가되어 Java 코드가 다른 언어로 작성된 코드와 상호 작용할 수 있습니다. JNI는 처음에 기본 컴파일 된 언어, 특히 C 및 C ++ 용으로 설계되었지만 통화 컨벤션이 지원되는 한 다른 프로그래밍 언어를 사용하는 것을 방해하지는 않습니다. Java를 사용하여 로컬로 컴파일 된 코드와 상호 작용하면 종종 플랫폼 이식성이 상실됩니다. 그러나 경우에 따라 이것은 허용되거나 필요한 것입니다. 예를 들어 일부 기존 라이브러리를 사용하여 하드웨어, 운영 체제와 상호 작용하거나 프로그램 성능을 향상 시키십시오. JNI 표준은 최소한 로컬 코드가 Java 가상 기계 환경에서 작동 할 수 있도록해야합니다. 간단히 말해서 JNI는 Java가 C 및 C ++ 언어로 기능을 호출하는 데 편리합니다. Java는 Java가 호출 할 수있는 이러한 기능을 구현하기 위해 인터페이스 (헤더 파일), C 및 C ++를 제공합니다.
Java에서 화면을 지우는 인터페이스는 없으며 C 언어의 모든 시스템 ( "CLS")은 JNI를 통해 호출 할 수 있습니다. 물론 CMD 화면 지우기로 제한되며 Eclipse Console Console Clearing을 지원하지 않습니다.
단계:
1. Java의 화면을 사용하여 기본 인터페이스를 작성하십시오.
공개 클래스 클리어 {static {system.loadlibrary ( "clear"); // hoad clear.dll dynamic library} public native static void clscmd (); // Clear Screen}2. COLLE.JAVA를 컴파일하고 Clear.Class를 생성합니다
3. Javah를 사용하여 해당 C 언어 헤더 파일을 생성합니다 .H
4. Visual Studio를 사용하여 Win32 프로젝트를 만들고 해당 DLL 동적 라이브러리를 생성합니다.
4.1 프로젝트를 만듭니다
4.2 응용 프로그램 유형 : DLL
4.3 헤더 파일을 Clear.
JNI.H는 JDK 설치 경로의 포함 디렉토리에 있습니다.
JNI_MD.H는 JDK 설치 경로의 포함 디렉토리의 Win32 디렉토리에 있습니다.
이 세 헤더 파일을 프로젝트 디렉토리에 복사하여 붙여 넣습니다.
그런 다음 VS에서 가져옵니다.
헤더 파일 ---> 추가 ---> 기존 항목 ---> 위의 3 개의 헤더 파일을 선택합니다 ---> 추가
#include <jni.h>를 clear.h 헤더 파일에서 #include "jni.h"로 변경하십시오.
4.4 .CPP 파일을 추가하고 C 코드를 작성하십시오.
소스 파일 ---> add ---> 새 항목 ---> C ++ 파일 : CLEAR.CPP
#include "clear.h"#include <iostream> jniexport void jnicall java_clear_clscmd (jnienv *, jclass) {system ( "cls"); // c의 화면 clear}4.5 생성 할 64 비트 DLL 동적 라이브러리 설정
솔루션 ---> 속성
4.6 DLL을 생성하십시오
솔루션 ---> 마우스 오른쪽 버튼을 클릭하여 생성하십시오
5 테스트
5.1 CLEAR.DLL을 CLEAR.CLASS가 1 단계와 2에있는 디렉토리로 복사하십시오.
5.2 테스트 수업 작성
public class testjni {public static void main (String [] args) {System.out.println ( "Hello Jni"); clear.clscmd (); // clear screen}}5.3 테스트 클래스를 컴파일합니다
javac testjni.java
5.4 테스트 클래스를 실행하십시오
Java testjni
완벽한 화면이 깨끗 해져 끝내십시오! ! !