1. Escreva um arquivo java, declare o método nativo e carregue a biblioteca de link dinâmica através do bloco de instrução estática. O código de java de exemplo é o seguinte:
classe prompt {private nativo string getLine (string prompt); public static void main (string args []) {prompt p = new prompt (); String input = p.getLine ("Tipo A linha:"); System.out.println ("Usuário digitado:" + entrada); } static {System.loadLibrary ("Prompt"); }} 2. Ligue para o comando JAVAC para gerar o arquivo prompt.class;
javac prompt.java
3. Ligue para o comando javah para gerar o arquivo de cabeçalho do prompt.H para referência por C Programa:
Javah -jni Prompt
O arquivo de cabeçalho gerado automaticamente é o seguinte:
/ * Não edite este arquivo - é a máquina gerada */#inclua <jni.h>/ * cabeçalho para o prompt de classe */#ifndef _included_prompt#define _included_prompt#ifdef __cplusplusextern "c" {#endif/ * class: Promot * Método: GetLine * * * (Ljava/lang/string;) ljava/lang/string; */Jniexport jstring jnicall java_prompt_getline (jnienv *, jobject, jstring);#ifdef __cplusplus}#endif#endif 4. Escreva o arquivo Prompt.c para implementar funções específicas:
#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)-> ReleasEstringutfchars (Env, Prompt, STR); scanf ("%s", buf); return (*Env)-> Newstringutf (Env, Buf);} 5. Compilar a biblioteca dinâmica libprompt.so;
gcc -shared -fpic -i/usr/lib/jvm/java-6-sun-1.6.0.26/incluir -i/usr/lib/jvm/java-6-sun-1.6.0.26/incluir/linux prompt.c -o libprompt.so
6. Corra.
prompt de java
Obrigado pela leitura, espero que isso possa ajudá -lo. Obrigado pelo seu apoio a este site!