begin process at 2010 02 09 20:32:54
  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...

CalendriCode

Février 2010
LMMJVSD
1234567
891011121314
15161718192021
22232425262728

Consulter la suite du CalendriCode

 
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,499 sec (4)

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