Categorías destacadas
programacion php    
Artículo
5
¡votar!

 Utilizar el Java Native Interface (JNI)


Paso 4: Escribir la Implementación del Método Nativo

Ahora podemos entrar en el negocio de escribir la implementación del método nativo en otro lenguaje distinto de java.

La función que escribamos debe tener la misma firma de función que la que se generó con javah dentro del fichero HelloWorld.h en el Paso 3: Crear el fichero .h. Recuerda que la firma de la función generada para el método nativo displayHelloWorld() de la clase HelloWolrd, se parece a esto.

JNIEXPORT void JNICALL Java_HelloWorld_displayHelloWorld(JNIEnv *, jobject);

Aquí tienes la implementación en lenguaje C para el método nativo Java_HelloWorld_displayHelloWorld(). Esta implementación se encuentra en el fichero llamado HelloWorldImp.c.

#include <jni.h>
#include "HelloWorld.h"
#include <stdio.h>

JNIEXPORT void JNICALL 
Java_HelloWorld_displayHelloWorld(JNIEnv *env, jobject obj) 
{
  printf("Hello world!\n");
  return;
}

La implementación para Java_HelloWorld_displayHelloWorld() es correcta: la función utiliza la función printf() para mostrar el string "Hello World!" y retorna.

Este fichero incluye tres ficheros de cabecera.

  • jni.h - Este fichero de cabecera proporciona información que el código nativo necesita para interactuar con el sistema de ejecución Java. Cuando se escriban métodos nativos, siempre se debe incluir este fichero de cabecera en los ficheros fuente nativos.
  • HelloWorld.h - El fichero .h que se generó en el Paso 3: Crear el fichero .h.
  • stdio.h - El código anterior también incluye el fichero stdio.h porque utiliza la función printf().
Publicado por:
Ricard Lou Torrijos
Recomendar
a un amigo
Compartir
en redes
 
Comentarios
 
BBDD
Entornos de desarrollo
Entretenimiento
Herramientas
Internet
Lenguajes de script
Lenguajes imperativos
Lenguajes orientados a objeto
Otros lenguajes
Plataformas
Teoría
Varios
Copyright © 1998-2011 Programación en Castellano. Todos los derechos reservados
Datos legales | Politica de privacidad | Contacte con nosotros | Publicidad

Diseño web y desarrollo web. Un proyecto de los hermanos Carrero.

Red internet:
Juegos gratis | Servidores dedicados
Más internet: Password | Directorio de weblogs | Favicon