1. Tulis file java, nyatakan metode asli, dan muat pustaka tautan dinamis melalui blok pernyataan statis. Contoh kode prompt.java adalah sebagai berikut:
class prompt {private NIVORE String getline (string prompt); public static void main (string args []) {prompt p = new prompt (); Input string = p.getline ("Ketikkan baris:"); System.out.println ("Pengguna diketik:" + input); } static {System.LoadLibrary ("prompt"); }} 2. Hubungi perintah Javac untuk menghasilkan file prompt.class;
javac prompt.java
3. Hubungi perintah Javah untuk menghasilkan file header prompt.h untuk referensi oleh C program:
javah -jni prompt
File header yang dihasilkan secara otomatis adalah sebagai berikut:
/ * Jangan mengedit file ini - ini adalah mesin yang dihasilkan */#Sertakan <jni.h>/ * header untuk prompt kelas */#ifndef _included_promppt#define _included_promppt#ifdef __cplusplusExtern "c" {#endif/ * * class: prompt * Metode: getplusplusExtern "c" {#endif/ * class: prompt * Metode: getplusplusExtern "c" {#endif/ * class: prompt * tanda: getplusplustern "c" {#endif/ * * class: prompt * tanda: getplusplustern "c" {#endif/ * class: prompt * Method: getline * Getline * (Ljava/lang/string;) ljava/lang/string; */Jniexport jString jnicall java_prompt_getline (jnienv *, jobject, jString);#ifdef __cplusplus}#endif#endif 4. Tulis file prompt.c untuk mengimplementasikan fungsi tertentu:
#include <jni.h> #include <stdio.h> #include "prompt.h" jniexport void jnicalljava_prompt_getline (jnienv *env, jobject obj, jString prompt) {char buf [128]; const jbyte *str; str = (*env)-> getstringutfchars (env, prompt, null); if (str == null) {return null; } printf ("%s", str); (*env)-> recereasestringutfchars (env, prompt, str); scanf ("%s", buf); return (*env)-> newstringutf (env, buf);} 5. Kompilasi perpustakaan dinamis libprompt.so;
GCC -Shared -fpic -i/usr/lib/jvm/java-6-sun-1.6.0.26/include -i/usr/lib/jvm/java-6-sun-1.6.0.26/include/linix prompt.c -o libprompt.so
6. Jalankan.
java prompt
Terima kasih telah membaca, saya harap ini dapat membantu Anda. Terima kasih atas dukungan Anda untuk situs ini!