Pengantar JNI
JNI adalah singkatan dari Java Native Interface, yang menyediakan beberapa API untuk mengimplementasikan komunikasi antara Java dan bahasa lain (terutama C&C ++). Mulai dari Java 1.1, standar JNI telah menjadi bagian dari platform Java, yang memungkinkan kode Java untuk berinteraksi dengan kode yang ditulis dalam bahasa lain. JNI awalnya dirancang untuk bahasa asli yang dikompilasi, terutama C dan C ++, tetapi tidak mencegah Anda menggunakan bahasa pemrograman lain, selama konvensi panggilan didukung. Menggunakan Java untuk berinteraksi dengan kode yang dikompilasi secara lokal sering kehilangan portabilitas platter. Namun, dalam beberapa kasus, ini dapat diterima, atau bahkan perlu. Misalnya, gunakan beberapa perpustakaan lama untuk berinteraksi dengan perangkat keras, sistem operasi, atau untuk meningkatkan kinerja program. Standar JNI setidaknya harus memastikan bahwa kode lokal dapat bekerja di lingkungan mesin virtual Java. Sederhananya, JNI nyaman bagi Java untuk memanggil fungsi dalam bahasa C dan C ++; Java menyediakan antarmuka (file header), C dan C ++ untuk mengimplementasikan fungsi -fungsi ini untuk dihubungi Java.
Tidak ada antarmuka untuk membersihkan layar di Java, dan semua sistem ("CLS") dalam bahasa C dapat dipanggil melalui JNI. Tentu saja, terbatas pada pembersihan layar CMD, dan tidak mendukung pembersihan konsol konsol Eclipse.
melangkah:
1.
kelas publik clear {static {System.LoadLibrary ("clear"); // muat clear.dll Dynamic Library} public asli static void clscmd (); // clear screen}2. Compile clear.java dan hasilkan clear.class
3. Gunakan javah untuk menghasilkan file header bahasa C yang sesuai
4. Gunakan Visual Studio untuk membuat proyek Win32 dan menghasilkan perpustakaan dinamis DLL yang sesuai
4.1 Buat proyek
4.2 Jenis Aplikasi: DLL
4.3 Impor file header Clear.h yang dihasilkan pada Langkah 3 dan dua file header JNI.H dan JNI_MD.H yang perlu diandalkan pada proyek
JNI.H ada di direktori jalur instalasi JDK.
JNI_MD.H ada di direktori Win32 di direktori termasuk jalur instalasi JDK.
Salin dan tempel ketiga file header ini ke direktori proyek:
Kemudian impor mereka di vs:
File Header ---> Tambah ---> Item yang Ada ---> Pilih tiga file header di atas ---> Tambah
Ubah #include <jni.h> di file header clear.h ke #include "jni.h"
4.4 Tambahkan file .cpp dan tulis kode C.
File Sumber ---> Tambah ---> Item Baru ---> File C ++: Clear.cpp
#include "clear.h" #include <ioStream> jniexport void jnicall java_clear_clscmd (jnienv *, jclass) {system ("cls"); // clear c clear}4.5 Menyiapkan Perpustakaan Dinamis DLL 64-bit untuk Dibuat
Solusi ---> Properti
4.6 menghasilkan dll
Solusi ---> Klik kanan untuk menghasilkan
5 tes
5.1 Salin Clear.dll ke direktori di mana Clear.class terletak di Langkah 1 dan 2.
5.2 Tulis kelas tes
testjni kelas publik {public static void main (string [] args) {System.out.println ("Hello JNI"); Clear.clscmd (); // clear screen}}5.3 Kompilasi Kelas Tes
javac testjni.java
5.4 Jalankan Kelas Tes
Java testjni
Layar sempurna dengan jelas, selesaikan! Lai Lai