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:


Ozito