IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Entrée/Sortie Java Discussion :

java + c/C++ / jniwrapper + dll+ jni


Sujet :

Entrée/Sortie Java

  1. #1
    Débutant
    Inscrit en
    Juin 2007
    Messages
    453
    Détails du profil
    Informations forums :
    Inscription : Juin 2007
    Messages : 453
    Points : 97
    Points
    97
    Par défaut java + c/C++ / jniwrapper + dll+ jni
    Je suis entrain de developpé une application composé de 3 parties:2 sont developpé en java et une en C/C++.
    Ma probleme est comment basculer du partie java en partie C/C++.
    J'ai un menu principale qui me permet de choisir entre le trois parties qui est developpé en java,quand je clique sur la premiere bouton je doit executer la partie developpé en C/C++,et ainsi de suite.
    J'ai entendu de jni/jniwrapper et les fichiers dll .mais comment les exploiter ???
    J'attend vos aides et merci de l'avance

  2. #2
    Modérateur
    Avatar de Alkhan
    Homme Profil pro
    ingénieur full stack
    Inscrit en
    Octobre 2006
    Messages
    1 232
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : ingénieur full stack

    Informations forums :
    Inscription : Octobre 2006
    Messages : 1 232
    Points : 2 061
    Points
    2 061
    Par défaut
    voila la réponse que j'ai mis dans ton premier post :

    Je vais essayer d'être clair !

    pour faire du JNI (surtout n'hesite pas a regarder le lien pour les details) il faudra faire plusieurs choses :
    - ta classe en c
    - ta classe java qui doit appeler la methode native en c
    - le header généré avec "javah -jni ..." a partir de ta classe java compilée
    - le wrapper qui va utiliser le header généré

    imagine que tu aies une classe en c (monCodeC)qui possède la méthode suivante :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    DLLEXPORT const char *getMessage() {
    	return "Mon message";
    }
    le code java suivant :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
     
    /**
     * 
     */
    package com.test.jni;
     
    /**
     * @author Moi
     * 
     */
    public class TestJNI {
     
    	static {
    		System.loadLibrary("MonWrapperJNI");
    	}
     
    	public static void main(String[] args) {
    		TestJNI tj = new TestJNI ();
    		System.out.println("Le message : " + tj.getMessage());
    	}
     
    	public native String getMessage();
    }
    Le wrapper (MonWrapperJNI):
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    #include <jni.h>
    #include <monCodeC.h>
    #include <com_test_jni_TestJNI.h> //normalement généré par javah
     
    JNIEXPORT jstring JNICALL Java_com_test_jni_TestJNI_getMessage(JNIEnv * env, jobject obj) {
    	return env->NewStringUTF(getMessage());
    }
    Pour répondre a ta question le wrapper va permettre de faire le lien entre ton code c et JNI.
    Si tu as la possibilité de modifier directement le code c alors tu n'a plus besoin du wrapper car tu pourras directement mettre la methode Java_com_test_jni_TestJNI_getMessage(JNIEnv * env, jobject obj) dans ta classe c.

    j'espère ca va t'aider !

Discussions similaires

  1. JNI et java et fichier system.dll
    Par younes12 dans le forum Entrée/Sortie
    Réponses: 1
    Dernier message: 08/09/2009, 14h31
  2. [JNI]dll java
    Par icepower dans le forum Entrée/Sortie
    Réponses: 8
    Dernier message: 03/09/2009, 14h53
  3. [JNI]appel d'un dll en Java
    Par Aida dans le forum Entrée/Sortie
    Réponses: 22
    Dernier message: 23/01/2008, 16h19
  4. Problème génération DLL (jni)
    Par pitator dans le forum Entrée/Sortie
    Réponses: 2
    Dernier message: 23/03/2007, 10h14
  5. Compiler Le fichier JAVA (Possedant une methode NATIVE) JNI
    Par Serger dans le forum Entrée/Sortie
    Réponses: 1
    Dernier message: 14/02/2007, 19h32

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo