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

Eclipse Java Discussion :

eclipse & dll


Sujet :

Eclipse Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    80
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2006
    Messages : 80
    Par défaut eclipse & dll
    bonjour,
    j'utilise une dll dans une application java.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    static { System.loadLibrary("TestCPP"); }
    Comment integrer cette dll à mon projet?

  2. #2
    Membre chevronné Avatar de Jean-Philippe Shields
    Profil pro
    Inscrit en
    Novembre 2005
    Messages
    278
    Détails du profil
    Informations personnelles :
    Âge : 45
    Localisation : Canada

    Informations forums :
    Inscription : Novembre 2005
    Messages : 278
    Par défaut
    Tu dois faire appel à des fonctions native. Cherche du côté de JNI Java Native Interface.

  3. #3
    Membre confirmé
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    80
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2006
    Messages : 80
    Par défaut
    mon application s'execute bien en ligne de commande..
    mais la il ne reconnait pas l'appel à la fonction JNI dans eclipse.
    que j'ai declaré comme ça:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    public static native long printCpp();
    Ou dois-je importer ma dll?

  4. #4
    Membre chevronné Avatar de Jean-Philippe Shields
    Profil pro
    Inscrit en
    Novembre 2005
    Messages
    278
    Détails du profil
    Informations personnelles :
    Âge : 45
    Localisation : Canada

    Informations forums :
    Inscription : Novembre 2005
    Messages : 278
    Par défaut
    Tu dois sûrement avoir une erreur du type UnsatisfiedLinkError ou quelquechose du genre?

    As-tu définit les fonctions de ta dll selon les standards JNI? Parce que tu ne peux pas appeler une dll compilée normalement pour windows aussi simplement en java.

  5. #5
    Membre confirmé
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    80
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2006
    Messages : 80
    Par défaut
    mon erreur est simplement
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    TestCPP cannot be resolved
    Le probleme n'est pas dans la realisation de la dll mais dans son integration à un projet eclipse . Sinon elle marche parfaitement!

  6. #6
    Membre chevronné Avatar de Jean-Philippe Shields
    Profil pro
    Inscrit en
    Novembre 2005
    Messages
    278
    Détails du profil
    Informations personnelles :
    Âge : 45
    Localisation : Canada

    Informations forums :
    Inscription : Novembre 2005
    Messages : 278
    Par défaut
    Et bien en assumant que ta dll est bien adaptée à JNI, l'intégration dans un programme Java est assez simple. C'est du style :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
    public class HelloWorld {
        static { System.loadLibrary("HelloWorld"); }
     
        public static native void printCpp();
     
        public static void main(String args[]) {
            System.out.print("Hello ");
            HelloWorld.printCpp();
        }
    }

    Il ne faut pas oublier aussi le try...catch(..) qui permet de détecter les erreurs éventuelles de JNI.

    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
     
    public class HelloWorld {
        static { System.loadLibrary("HelloWorld"); }
     
        public static native void printCpp();
     
        public static void main(String args[]) {
            System.out.print("Hello ");
     
            try {
                HelloWorld.printCpp();
            }
            catch(UnsatisfiedLinkError e) {
            //... do something
            }
        }
    }

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Eclipse jvm dll pas là
    Par steph600 dans le forum Eclipse Java
    Réponses: 7
    Dernier message: 17/06/2014, 17h31
  2. [Eclipse] "Jvm.dll" impossible à charger
    Par T4unt dans le forum Eclipse Java
    Réponses: 4
    Dernier message: 05/12/2011, 10h20
  3. Eclipse et DLL pour PHP 5.3.2
    Par ETVigan dans le forum Eclipse PHP
    Réponses: 1
    Dernier message: 01/07/2010, 14h24
  4. [dll SWT] Problème avec SWT et Eclipse 3.1.1
    Par guizmo_ dans le forum SWT/JFace
    Réponses: 2
    Dernier message: 18/11/2005, 02h02

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