Paso 5: Crear una Librería Compartida

Recuerda que en el Paso 1: Escribir el Código Java se utilizó la siguiente llamada de método para cargar una librería compartida llamada hello dentro de nuestro programa en el momento de la ejecución:
System.loadLibrary("hello");
Ahora estámos listos para crear la librería compartida.

En el paso anterior, creamos un fichero C en el que escribimos la implementación para el método nativo displayHelloWorld. Se grabó el método nativo en el fichero HelloWorldImp.c. Ahora, deberemos compilar este fichero en una librería, que debe llamarse hello para corresponder con el nombre utilizado en el método System.loadLibrary.

Se utilizan las herramientas disponibles para compilar el código nativo que se creo en los pasos anteriores en una librería compartida. En Solaris, se creará una librería compartida, mientras que en Windows 95/NT se creará una librería de enlace dinámico (DLL). Recuerda especificar el path o paths necesarios para todos los ficheros de cabecera necesarios.

En Solaris, el siguiente comando construye una librería llamada libhello.so:

cc -G -I/usr/local/java/include -I/usr/local/java/include/solaris \
      HelloWorldImp.c -o libhello.so

En Win32, el siguiente comando construye una librería de enlace dinámico hello.dll utilizando Microsoft Visual C++ 4.0:

cl -Ic:\java\include -Ic:\java\include\win32 -LD HelloWorldImp.c -Fehello.dll
Por supuesto, se necesita especificar el path de include que corresponda con la configuración de nuestra máquina.

Ozito