Descargar la presentación
La descarga está en progreso. Por favor, espere
Publicada porErnesto Cruz Santos Modificado hace 10 años
1
Java Native Interface ELO326: Agustín J. González Basado en material de Universidad de Burgos, España
2
2 Introducción Aun cuando Java es suficiente para muchas aplciaciones, hay situaciones en que requerimos: Desarrollar tareas con mayor velocidad a la proporcionada por Java Acceder a recursos fuera del alcance de la máquina virtual. Típicamente elementos de hardware. Para esto es posible invocar desde Java funciones escritas en otros lenguajes. Hay que tener claro que el precio pagado es la pérdida de portabilidad del código Java. Por razones de seguridad no es posible hacerlo en applets.
3
3 Pasos a seguir: 1. Escritura del programa Java, invocando métodos nativos como native. 2. Compilación del programa Java. 3. Creación de un archivo de encabezado nativo (.h) 4. Escritura de los métodos nativos. 5. Creación de una biblioteca con esos métodos nativos. 6. Ejecución del programa Java.
4
4 1. Escritura del Prograam en Java Se debe tener en cuenta lo siguiente: Debemos crear una o varias claes con un método nativo por cada función externa que deseemos acceder. Para esto declarar métodos como: public native void diHola(); Estos metodos no llevan implementación en Java. Incluir en el programa Java la instrucción para cargar la bibioteca que implementa estos métodos: static { System.loadLibrary("LibHola");}
5
5 Compilar el programa Java La compilación se hace como siempre. javac......
6
6 Creación de un archivo de encabezado Este archivo en C/C++ tendrá extensión.h Este archivo es creado con el utilitario javah incluido en las herramientas de desarrollo de Java. Ejemplo: javah HolaNativo.java El archivo creado contendrá: #include // para definir términos usados por JNI JNIEXPORT void JNICALL Java_HolaNativo_diHola(JNIEnv*,jobject); // para establecer la comunicación.
7
7 Escritura de métodos nativos En este archivo se debe incluir el archivo de encabezado creado previamente y la implemtación del método con igual prototipo al que generado en el encabezado. Ver ejemplo: en : http://profesores.elo.utfsm.cl/~agv/elo326/1s07/lec tures/JNI/ http://profesores.elo.utfsm.cl/~agv/elo326/1s07/lec tures/JNI/ En el caso que necesitemos pasar argumentos y retornar valores, se debe estudiar cómo cada tipo de dato es pasado. Ver otro ejemplo.
8
8 Creación de una biblioteca nativa Nuestro programa “Java” dependerá de una biblioteca nativa. Aquí creamos la creamos. Programa en ejecución será: Biblioteca + clases + JVM En Solaris será del tipo: cc -G HolaNativo.c -o libHola.so En Microsoft Visual C++ será: cl -LD HolaNativo.c -Fe libHola.dll
9
9 Ejecución No cambios....
Presentaciones similares
© 2025 SlidePlayer.es Inc.
All rights reserved.