Autor
|
Tema: Que se necesita para programar en java y c++ con JNI(JAVA NATIVE INTERFACE)? (Leído 11,233 veces)
|
hack-4-life
|
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... #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 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
Desconectado
Mensajes: 786
leyer@elhacker.net
|
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
|
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.htmly aqui esta la otra que me dijiste jni_md.h http://xdprof.sourceforge.net/doxygen/jni__md_8h-source.htmlvolvi 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 que mas me falta XD?thanxs x tu tiempo, espero tu respuesta... salu1+1
|
|
« Última modificación: 3 Octubre 2010, 23:49 pm por hack-4-life »
|
En línea
|
""DE QUE SIRVE EL CONOCIMIENTO SI SE PRIVA DE SU DISTRIBUCION"
|
|
|
Leyer
Desconectado
Mensajes: 786
leyer@elhacker.net
|
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 pm por LEYER »
|
En línea
|
|
|
|
hack-4-life
|
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 am por hack-4-life »
|
En línea
|
""DE QUE SIRVE EL CONOCIMIENTO SI SE PRIVA DE SU DISTRIBUCION"
|
|
|
Leyer
Desconectado
Mensajes: 786
leyer@elhacker.net
|
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 am por LEYER »
|
En línea
|
|
|
|
hack-4-life
|
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
Mensajes: 218
:)
|
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
|
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"
|
|
|
|
Mensajes similares |
|
Asunto |
Iniciado por |
Respuestas |
Vistas |
Último mensaje |
|
|
es lo mismo Java, que Java para android?
Java
|
Belial & Grimoire
|
2
|
10,842
|
1 Enero 2012, 05:09 am
por Belial & Grimoire
|
|
|
Uso de sensores para java
Java
|
Knjint
|
0
|
2,121
|
23 Abril 2012, 20:21 pm
por Knjint
|
|
|
Programar en Java para una Tablet usando tablas DBF
Java
|
guillermoariast
|
0
|
2,153
|
9 Julio 2012, 20:53 pm
por guillermoariast
|
|
|
[Tutorial] Como aprender a programar en: Java, Python, C. Entra!!
Programación General
|
Bomb-P
|
0
|
3,910
|
8 Enero 2013, 22:18 pm
por Bomb-P
|
|
|
Que me recomendais para aprender a programar en java (orientado a android)
Java
|
marrison
|
4
|
5,356
|
22 Enero 2013, 19:29 pm
por 1mpuls0
|
|