|
Java proporciona un mecanismo para la llamada a funciones C y C++ desde nuestro código fuente Java. Para definir métodos como funciones C o C++ se utiliza la palabra clave native .
public class Fecha {
int ahora;
public Fecha() {
ahora = time();
}
private native int time();
static {
System.loadLibrary( "time" );
}
}
Una vez escrito el código Java, se necesitan ejecutar los pasos siguientes para poder integrar el código C o C++:
- Utilizar javah para crear un fichero de cabecera (.h)
- Utilizar javah para crear un fichero de stubs , es decir, que contiene la declaración de las funciones
- Escribir el código del método nativo en C o C++, es decir, rellenar el código de la función, completando el trabajo de javah al crear el fichero de stubs
- Compilar el fichero de stubs y el fichero .c en una librería de carga dinámica ( DLL en Windows '95 o libXX.so en Unix)
- Ejecutar la aplicación con el appletviewer
Más adelante trataremos en profundidad los métodos nativos, porque añaden una gran potencia a Java, al permitirle integrar a través de librería dinámica cualquier algoritmo desarrollado en C o C++, lo cual, entre otras cosas, se utiliza como método de protección contra la descompilación completa del código Java.
|