begin process at 2012 02 14 10:06:07
  Trouver un code source :
 
dans
 
Accueil > Forum > 

Archive Java

 > 

Archives

 > 

Au secours

 > 

jni


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

jni

mardi 16 août 2005 à 09:37:56 | jni

halwas



bonne programation
bonjour,je suis entraint de'apprendre comment interfacer entre un programme c++ et un code java .j'ai debute avec un programme qui parait simple:
public class HelloWorld {
    static { System.loadLibrary("HelloWorld"); }

    public static native void printCpp();

    public static void main(String args[]) {
        System.out.print("Hello ");
        HelloWorld.printCpp();
    }
}

j'ai fait ses actions:
javac HelloWorld
javah -jni HelloWorld
un fichier HelloWorld est genere contenant:

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

#ifndef _Included_HelloWorld
#define _Included_HelloWorld
#ifdef __cplusplus
extern "C" {
#endif
/*
 * Class:     HelloWorld
 * Method:    printCpp
 * Signature: ()V
 */
JNIEXPORT void JNICALL Java_HelloWorld_printCpp
  (JNIEnv *, jclass);

#ifdef __cplusplus
}
#endif
#endif
/***************************************************/

Maintenant je ne sait pas comment poursuivre la generation d'un dll , où je doit mettre le code c,comment l'executer afin de trouver le resultat

AIDEZ moi s'il vous plait.Merci
mardi 16 août 2005 à 14:26:47 | Re : jni

scaryman

salut
il te faut un compilateur ou un programme d'édition de code (moi j'utilise Dev-cpp).
Ensuite tu demande de créer une dll que tu sauveras dans le répertoire de ta classe.
Ensuite dans dllmain.cpp tu remplace la ligne
    #include "dll.h"
    par
    #include "HelloWorld.h"
et supprime tout le reste du fichier dllmain.cpp a part les 2 #include.
Ensuite copie JNIEXPORT void JNICALL Java_HelloWorld_printCpp(JNIEnv *, jclass) et place ton code à la suite.
Tu n'as plus qu'à compiler et tu obtiendras ta dll.
Voila
si tu as d'autres questions n'hésites pas
++


mercredi 17 août 2005 à 08:22:44 | Re : jni

halwas



bonne programation
bonjour,
merci pour votre aide .j'ai essaié mais j'ai pas trouvé de resultat.
j'ai crée un fichier .c dans le meme repertoire intitule: HelloWorld.c contenat:
/**************************************************************/
#include <jni.h>
 #include <iostream.h>

JNIEXPORT void JNICALL Java_World_printCpp(JNIEnv *, jclass) {
    // Un affichage sur la console en C++
    cout << "Hello world in C++" << endl;
}

/*************************************************************/
j'ai mis le repertoire de la classe dans C:\Program Files\Microsoft Visual Studio
j'ai utilisé l'invite de commande.Puis
c:\Program Files\Microsoft Visual Studio>VC98\bin\CL  -I "C:\j2sdk1.4.1_07\include" -I"C:\j2sdk1.4.1_07\include\win32" -LD HelloWorld.c FeHelloWorld.dll
mais un message apparait:

Command line warning D2024 : unrecognized source file type 'FeHelloWorld.dll', object file assumed

HelloWorld.c

C:/j2sdk1.4.1_07/include\jni.h :fatal error  :Cannot open include file : 'stdio.h' :No such file or directory


pouvez -vous m'aider en presisant s'il vous plait la reponse.
c'est tres gentil Merci

mercredi 17 août 2005 à 13:24:25 | Re : jni

halwas



bonne programation
bonjour je fait un projet code  en c++ mais l'interface avec le java .maintenant j'ai voulu assembler les deux codes java et c++ pour obtenir mon projet .j'ai essaiyé le JNI mais je n'ai pas pu .je sais interfacé entre le java et le C .
mais je n'ai pas pu le faire avec le c++ .Pouvez vous m'aidez s'il vous plait
mercredi 17 août 2005 à 13:41:36 | Re : jni

scaryman

désolé je n'ais jamais eu cette erreur
cela a toujours bien fonctionné chez moi




Cette discussion est classée dans : public, class, helloworld, printcpp, jni


Répondre à ce message

Sujets en rapport avec ce message

Appel de classes semblables [ par colruyt ] Bonjour à tous,Voici le problème qui se pose à moi :Dans ma classe principale , je fait appel à 2 classes et chacunes de celle-ci affiche le contenu d Problème avec un Keylistener [ par subichan ] Bonjour tout le monde,j'ai le probleme suivant :J'ai defini ma class comme telle: public class Nom extends JFrame implements KeyListener {...et j'obti Problème avec un Keylistener [ par subichan ] Bonjour tout le monde,j'ai le probleme suivant :J'ai defini ma class comme telle: public class Nom extends JFrame implements KeyListener {...et j'obti Dur de Compiler avec JCreator [ par bongawonga ] Comme vous l'avez sans doute compris je suis un GROS newie, mais je déspère pas, je vais y arrivé a faire qq chose en java.j'ai donc installé JAVASDK utilisation d'un bean perso erreur--> :org.apache.jasper.JasperException: Unable to compile class for JSP [ par coyote_fx ] Bonjour à tous,Voilà je suis entrain de me former à JSP.Pour cela j'ai acheté un chouette bouquin... Donc je suis les exemples à la lettre .Mais là, j Pb de classloader [recuperer l'exec. dune class...] [ par Syruis ] Bonjour je cherche a recuperer le resultat de l'execution d'une class mais a mon grand malheur je galère .. la seule methode bien ki ma paru fesable c throws [ par sheorogath ] j'ai un petit probleme :j'ai finnis un livre sur le java et je voudrais mettre en application ce que je sais faire donc j'ai voulu creer une sorte d'e Problème avec un JScrollPane et JTextArea... [ par boyboy ] Bonjour,voici mon problème :j'ai 2 classes : class Interface extends JFrame (c'est la classe principale)class QueuePanel extends JTextAreaJe souhaite pb extends!!!!!!!!!!!!!!!!!!!!!!!!! [ par Djumb ] voila g deux fichiers class que j'ai cree.l'une en apellant l'autre je veux recuperer les variables initialiser dans l'une dans l'autre.Cela doit etre a mort les JButton =] [ par niko29940242 ] lu all j'ai un pti pb : j'essai de faire un plateau de jeu avec la methode paint() (pour ca ya pas de pb ) mais ensuite je n'arrive plus a faire appar


Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Février 2012
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
272829    

Consulter la suite du CalendriCode

Photothèque

 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,156 sec (4)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales