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: