elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.


 


Tema destacado: Deseas probar algunas mejoras a la interfaz del foro? Prueba cake! acerca de


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación General
| | |-+  Java (Moderadores: Debci, Leyer)
| | | |-+  Que se necesita para programar en java y c++ con JNI(JAVA NATIVE INTERFACE)?
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: Que se necesita para programar en java y c++ con JNI(JAVA NATIVE INTERFACE)?  (Leído 7,301 veces)
hack-4-life

Desconectado Desconectado

Mensajes: 52



Ver Perfil WWW
Que se necesita para programar en java y c++ con JNI(JAVA NATIVE INTERFACE)?
« en: 3 Octubre 2010, 22:04 »

Buenas XD adentrandome al tema qusiera saber que necesito para programar con JNI,sigo leyendo acerca de enlazar java y C++,pero como lo enlazo? busque de JNA(JAVA NATIVE ACESS) en el foro que hay que descargar el .jar de JNA y que este paquete tengo que pegarlo  dentro de la ruta de la maquina virtual en jdk1.6.0_13\jre\lib\ext,pero no encontre de JNI me pregunto si es lo mismo.tengo los siguientes codes uno escrito en java y otro escrito en C++ si alquien me podria decir,se los agradeceria salu1+1...
Código:
#include <jni.h>
#include <stdio.h>
#include "HelloWorld.h"

JNIEXPORT void JNICALL
Java_HelloWorld_print(JNIEnv *env, jobject obj)
{
    printf("Hello World!\n");
    return;
}


codigo de java
Código:
class HelloWorld {
    private native void print();
    public static void main(String[] args) {
        new HelloWorld().print();
    }
    static {
        System.loadLibrary("HelloWorld");
    }
}

pero al compilarlo me marca error en JNIEXPORT,si alguien me puede decir...saludos


En línea

""DE QUE SIRVE EL CONOCIMIENTO SI SE PRIVA DE SU DISTRIBUCION"
Leyer
Moderador
***
Desconectado Desconectado

Mensajes: 782


leyer@elhacker.net


Ver Perfil WWW
Re: Que se necesita para programar en java y c++ con JNI(JAVA NATIVE INTERFACE)?
« Respuesta #1 en: 3 Octubre 2010, 22:28 »

Asegurate de tener los archivos jni_md.h , jni.h en el directorio include , preferiblemente utiliza el DEV para generar una DLL ya que es mas fácil que los demás IDES.

Un saludo.


En línea

hack-4-life

Desconectado Desconectado

Mensajes: 52



Ver Perfil WWW
Re: Que se necesita para programar en java y c++ con JNI(JAVA NATIVE INTERFACE)?
« Respuesta #2 en: 3 Octubre 2010, 23:36 »

gracias leyer por responder XD si tengo el dev c++ y esta instalado en el directorio C:\Dev-Cpp\include, y ya verifique que no estan las librerias,las descargue de stas paginas y las pegue en dev...C:\Dev-Cpp\include

aqui esta la libreria jni.h
http://xdprof.sourceforge.net/doxygen/jni_8h-source.html

y aqui esta la otra que me dijiste jni_md.h
http://xdprof.sourceforge.net/doxygen/jni__md_8h-source.html
volvi a compilar los archivos en C++ Y JAVA y no marca error,me dice que no such file directory,pero al ejecutar el archivo  no me lo ejecuta,que estoy haciendo mal :huh: :huh:
que mas me falta XD?thanxs x tu tiempo, espero tu respuesta... salu1+1

« Última modificación: 3 Octubre 2010, 23:49 por hack-4-life » En línea

""DE QUE SIRVE EL CONOCIMIENTO SI SE PRIVA DE SU DISTRIBUCION"
Leyer
Moderador
***
Desconectado Desconectado

Mensajes: 782


leyer@elhacker.net


Ver Perfil WWW
Re: Que se necesita para programar en java y c++ con JNI(JAVA NATIVE INTERFACE)?
« Respuesta #3 en: 3 Octubre 2010, 23:53 »

Eso es todo lo que se necesita para JNI, recuerda cuando vallas a generar la DLL ya lo sabrás vas a File->New->Project->DLL y que para generar el header  .h es javac -jni class, sabiendo estas cosas ya podrías comenzar.

cualquier problema te guías por mi tutorial.
:http://foro.elhacker.net/java/tutorial_keylogger_en_java_jni-t275565.0.html

EDIT: te marca eso por que seguramente no este el archivo header "HelloWorld.h"

Un saludo.
« Última modificación: 3 Octubre 2010, 23:57 por LEYER » En línea

hack-4-life

Desconectado Desconectado

Mensajes: 52



Ver Perfil WWW
Re: Que se necesita para programar en java y c++ con JNI(JAVA NATIVE INTERFACE)?
« Respuesta #4 en: 4 Octubre 2010, 01:08 »

primero vi el link que enviaste y descargue las librerias de tu tutorial y las pegue en include, y si tienes razon todavia no genero el archivo HelloWork.h,pero mira vi tu tutorial,y me estoy guiando  de ahi, pero cuando intento compilar mi archivo HelloWorld.java me dice que no encuentra el comando javah -jni te pongo una imagen mejor...
que esta pasando?en que estoy mal y sabes se que son preguntas tontas,pero mas vale"ser tonto por un minuto que ser tonto toda la vida" estoy configurando la variable path para jni aver si es eso,leyendoo saludos XD
« Última modificación: 4 Octubre 2010, 01:09 por hack-4-life » En línea

""DE QUE SIRVE EL CONOCIMIENTO SI SE PRIVA DE SU DISTRIBUCION"
Leyer
Moderador
***
Desconectado Desconectado

Mensajes: 782


leyer@elhacker.net


Ver Perfil WWW
Re: Que se necesita para programar en java y c++ con JNI(JAVA NATIVE INTERFACE)?
« Respuesta #5 en: 4 Octubre 2010, 01:42 »

Tienes que tener instalado algún JDK para poder usar javah, y tienes que configurarlo en el PATH de tu sistema para poder ejecutar javah desde la consola.

Claro puedes entrar directamente por la consola al directorio bin del JDK y compilar desde hay.

Un saludo.
« Última modificación: 4 Octubre 2010, 01:44 por LEYER » En línea

hack-4-life

Desconectado Desconectado

Mensajes: 52



Ver Perfil WWW
Re: Que se necesita para programar en java y c++ con JNI(JAVA NATIVE INTERFACE)?
« Respuesta #6 en: 4 Octubre 2010, 06:38 »

gracias por tu respuesta y por tu time,pero si tengo instalado el jdk_1.5 XD,solo me falta el path,voy a configurar la variable de entorno yte vengo a decir,ahora que ya se los pasos le intentare hasta MORIR,jaja saludos XD
En línea

""DE QUE SIRVE EL CONOCIMIENTO SI SE PRIVA DE SU DISTRIBUCION"
danielo-

Desconectado Desconectado

Mensajes: 218


:)


Ver Perfil
Re: Que se necesita para programar en java y c++ con JNI(JAVA NATIVE INTERFACE)?
« Respuesta #7 en: 4 Octubre 2010, 07:04 »

No hace falta que lo descargues de ningun lado, si ya tienes instalado el jdk, basta con irte al directorio donde esta instalado, luego en la carpeta include y ahi te encontraras con 3 cabezeras .h  y una carpeta llamada win32 (suuponiendo que trabajas bajo windows) dentro de la carpeta win32 hay otras 2 cabezeras.h, entonces copia las 5 cabeceras en la carpeta include del devc++ y ya deberias poder compilar el  proyecto.
* En la carpeta del include del dev++ deberas copiar los siguientes 5 cabeceras:
classfile_constants.h
jawt.h
jdwp.h
Transport.h
jni.h
jvmti.h

(realmente no se si se necesitan las 5, pero como soy flojo para checar cual hace falta y cual no , pues copie las 5 y funciona a la perfeccion XD)

Saludos!
En línea

hack-4-life

Desconectado Desconectado

Mensajes: 52



Ver Perfil WWW
Re: Que se necesita para programar en java y c++ con JNI(JAVA NATIVE INTERFACE)?
« Respuesta #8 en: 5 Octubre 2010, 03:01 »

gracias por responder XD,hice lo que me dijiste XD pero la de  transport.h aparece con el nombre de jdwpTransport.h y la classfile_constants.h no la tiene tengo instalado el jdk_1.5,pero que crees ya la baje de google pero son varias y no se cual sea la correcta,cres que haya algun problema si no la tengo?bueno voy a revisarlo aver que pasa,y te vengo a decir saludos XD
En línea

""DE QUE SIRVE EL CONOCIMIENTO SI SE PRIVA DE SU DISTRIBUCION"
Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines