1. Escriba un archivo Java, declare el método nativo y cargue la biblioteca de enlaces dinámicos a través del bloque de instrucción estática. El ejemplo de ejemplo, el código Java es el siguiente:
clase de clase {cadena nativa privada getLine (solicitante de cadena); public static void main (string args []) {pronto p = new pronto (); String input = p.getLine ("escriba una línea:"); System.out.println ("Usuario escrito:" + entrada); } static {System.LoadLibrary ("solicitante"); }} 2. Llame al comando javac para generar el archivo ind.class;
Javac indic.java
3. Llame al comando javah para generar el archivo de encabezado indic.h para referencia por el programa C:
aviso de javah -jni
El archivo de encabezado generado automáticamente es el siguiente:
/ * No edite este archivo: se genera la máquina */#include <jni.h>/ * encabezado para la clase indicador */#ifndef _included_prompt#define _included_prompt#ifdef __cplusplusextern "c" {#endif/ * * class: indic * Method: getLine * firma: firma: (Ljava/lang/string;) ljava/lang/string; */Jniexport jString Jnicall java_prompt_getline (jnienv *, jobject, jString);#ifdef __cplusplus}#endif#endif 4. Escriba el archivo indic.c para implementar funciones específicas:
#include <jni.h> #include <stdio.h> #include "aproped.h" jniexport void jnicalljava_promppt_getline (jnienv *env, jobject obj, jString ind) {char buf [128]; const jbyte *str; str = (*env)-> getTringutfars (env, indicar, nulo); if (str == null) {return null; } printf ("%s", str); (*env)-> releSeSestringutfars (env, solicit, str); scanf ("%s", buf); return (*env)-> Newstringutf (env, buf);} 5. Compile la biblioteca dinámica 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/linux indic.c -o libprompt.soSo
6. Corre.
aviso de Java
Gracias por leer, espero que pueda ayudarte. ¡Gracias por su apoyo para este sitio!