PDF de programación - CREACIÓN DE UNA PASARELA JNI

Imágen de pdf CREACIÓN DE UNA PASARELA JNI

CREACIÓN DE UNA PASARELA JNIgráfica de visualizaciones

Actualizado el 21 de Marzo del 2018 (Publicado el 28 de Noviembre del 2017)
678 visualizaciones desde el 28 de Noviembre del 2017
491,8 KB
5 paginas
Creado hace 17a (30/10/2006)
CREACIÓN DE UNA PASARELA JNI



LUIS MENGUAL GALÁN

1. CREACIÓN DE UNA PASARELA JNI

Para crear una pasarela JNI lo que hay que hacer es lo siguiente:

1.1 Codificación en Java del método Nativo

Nos creamos un fichero MIJNIint.java en el que diseñamos un método nativo que se
llama getIncremento que devuelve inicialmente un valor entero al ser invocado desde
C.

static
{

}

System.loadLibrary("MIJNIint");

public native int getIncremento();

import java.util.*;


public class MIJNIint
{









public static void main(String[] args)


{




System.out.print(resultado);



}

int resultado;

MIJNIint oneint = new MIJNIint();
resultado=oneint.getIncremento();




}

1.2 Creación del fichero “MIJNIint.class”.

Compilamos este fichero con “javac MIJNIint.java” desde la línea de comandos. El
resultado es que tenemos un fichero “MIJNIint.class”.

- Pág. 1 de 1 -

CREACIÓN DE UNA PASARELA JNI



LUIS MENGUAL GALÁN

1.3 Creación del fichero “MIJNIint.h”.

Hacemos “javah –jni MIJNIint” el resultado es que tenemos el fichero cabecera
“MIJNIint.h”.


/* DO NOT EDIT THIS FILE - it is machine generated */
#include <jni.h>
/* Header for class MIJNIint */

#ifndef _Included_MIJNIint
#define _Included_MIJNIint
#ifdef __cplusplus
extern "C" {
#endif
/*
* Class: MIJNIint
* Method: getIncremento
* Signature: ()I
*/
JNIEXPORT jint JNICALL Java_MIJNIint_getIncremento
(JNIEnv *, jobject);

#ifdef __cplusplus
}
#endif
#endif


“jint” quiere decir que este procedimiento devuelve un entero.


1.4 Creacion de una DLL dinamica en un Proyecto Visual
Studio 6.0 / Visual Studio 8.0

Ahora nos vamos a Visual Studio y nos creamos una aplicación WIN32 dinamic-library.
Nos metemos en el proyecto el fichero MIJNIint.h y nos creamos un fichero en c que
en nuestro caso se llama “MIJNIint..cpp” en el que simplemente hacemos algo y
retornamos un entero. Compilamos y el resultado es la generación de una DLL. En
nuestro caso “MIJNIint..dll”. Una cosa importante a tener en cuenta es que al

- Pág. 2 de 2 -

CREACIÓN DE UNA PASARELA JNI



LUIS MENGUAL GALÁN

compilar se requiere el fichero jni.h que no es un fichero de Visual Studio sino de java
que se encuentra en :”C:\Archivos de programa\jdk1.3.1\include” y otros adicionales
que se encuentran en C:\Archivos de programa\jdk1.3.1\include\win32. El path se lo
damos en el proyecto y así funciona*.

(*Estamos suponiendo en el ejemplo que tenemos instalada la maquina virtual jdk1.3.1)

// PROY_MIOJNI.cpp : Defines the entry point for the DLL application.
//

#include "stdafx.h"
#include <jni.h>
#include "MIJNIint.h"


JNIEXPORT jint JNICALL Java_MIJNIint_getIncremento
(JNIEnv *, jobject)

{






}

return (miint);

int miint=20;

1.5 Ejecución de la Pasarela JNI

Ahora solo hace falta es cambiar el nombre de la DLL por “MIJNIint.dll”. Luego
juntamos este fichero con el de “MIJNIint.class y hacemos java MIJNIint y
el programa desde java nos devolvería el valor 20

- Pág. 3 de 3 -

CREACIÓN DE UNA PASARELA JNI



LUIS MENGUAL GALÁN

2. CREACIÓN DE UNA DLL EN VISUAL
STUDIO8.0 (2005)





- Pág. 4 de 4 -

CREACIÓN DE UNA PASARELA JNI



LUIS MENGUAL GALÁN



3. ESTABLECIMIENTO DE LOS
JNI.H Y OTROS EN VISUAL STUDO 8.0

INCLUDES

- Pág. 5 de 5 -
  • Links de descarga
http://lwp-l.com/pdf7730

Comentarios de: CREACIÓN DE UNA PASARELA JNI (0)


No hay comentarios
 

Comentar...

Nombre
Correo (no se visualiza en la web)
Valoración
Comentarios...
CerrarCerrar
CerrarCerrar
Cerrar

Tienes que ser un usuario registrado para poder insertar imágenes, archivos y/o videos.

Puedes registrarte o validarte desde aquí.

Codigo
Negrita
Subrayado
Tachado
Cursiva
Insertar enlace
Imagen externa
Emoticon
Tabular
Centrar
Titulo
Linea
Disminuir
Aumentar
Vista preliminar
sonreir
dientes
lengua
guiño
enfadado
confundido
llorar
avergonzado
sorprendido
triste
sol
estrella
jarra
camara
taza de cafe
email
beso
bombilla
amor
mal
bien
Es necesario revisar y aceptar las políticas de privacidad