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 :

[JNA] Faire un wrapper java pour une application C


Sujet :

Entrée/Sortie Java

  1. #1
    Candidat au Club
    Inscrit en
    Octobre 2008
    Messages
    10
    Détails du profil
    Informations forums :
    Inscription : Octobre 2008
    Messages : 10
    Points : 2
    Points
    2
    Par défaut [JNA] Faire un wrapper java pour une application C
    Bonjour tous le monde.
    Je dois faire le wrapper java pour une application en C, pour cela je veux utilisé 'JNA'.
    Donc je dois comencer par faire du mapping de mes fonctions C vers java.
    Je suis un peu bloqué dans cette etape.
    Quelqu'un a une idée sur comment je peux le faire, ou un lien qui explique ceci.
    Par exemple j'ai dans mon fichier d'entête la fonction suivante:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    extern const  example  (const void * const);
    Svp quelqu'un a une idéé.
    Merci d'avance.

  2. #2
    Invité
    Invité(e)
    Par défaut
    Salut,
    Tu n'aurais pas essayé par hasard de regarder sur la page principale du site officiel de JNA ? https://jna.dev.java.net/#getting_started
    Un exemple tout simple qui pourrait surement t'aider...

  3. #3
    Candidat au Club
    Inscrit en
    Octobre 2008
    Messages
    10
    Détails du profil
    Informations forums :
    Inscription : Octobre 2008
    Messages : 10
    Points : 2
    Points
    2
    Par défaut
    Merci pour le lien.
    L'exemple qui ont fait marche très bien pour moi, ils utilisent la fonction printf de la librérie C.
    mais moi je veux faire pour mon application C.
    C'est là ou je bloque.
    Merci

  4. #4
    Invité
    Invité(e)
    Par défaut
    Je ne comprends pas ton problème : comme dans l'exemple tu charges ta librairie à toi que tu as faite avec la méthode loadLibrary de Native, et, comme dans l'exemple, tu déclares ta fonction à toi dans une interface Java, respectant la signature C. Bref tout est expliqué dans l'exemple et si tu as des types compliqués à gérer (pointeurs et autres) c'est expliqué plus bas...

  5. #5
    Candidat au Club
    Inscrit en
    Octobre 2008
    Messages
    10
    Détails du profil
    Informations forums :
    Inscription : Octobre 2008
    Messages : 10
    Points : 2
    Points
    2
    Par défaut
    Merci pour l'aide.
    par exemple pour la fonction:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    extern const *  example  (const void * const);
    coment je peux faire son équivalent en java.
    Merci

  6. #6
    Candidat au Club
    Inscrit en
    Octobre 2008
    Messages
    10
    Détails du profil
    Informations forums :
    Inscription : Octobre 2008
    Messages : 10
    Points : 2
    Points
    2
    Par défaut
    Voici ce que j'ai fait:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
         Pointer  example  (Pointer x);
    Je veux savoir si c'est comme ça ou pas.
    Vous avez une idée???
    Merci

  7. #7
    Invité
    Invité(e)
    Par défaut
    Salut,
    Ben écoute, pourquoi as tu fais ca ? Parce que c'est écrit dans la doc que l'équivalent de void * pour JNA est la classe Pointer ?
    Il me semble que c'est écrit ca ici https://jna.dev.java.net/#mapping. Quel est le sens de ta question ? savoir si tu as bon ? ou as tu rencontré un problème en faisant ca. Si tu as un problème, explique le nous sinon on peut pas trop te dire comment le résoudre. Bien sur si tu as un problème de compilation/exécution, donne nous un plus grand échantillon de code (C et Java) et l'erreur rencontrée

  8. #8
    Candidat au Club
    Inscrit en
    Octobre 2008
    Messages
    10
    Détails du profil
    Informations forums :
    Inscription : Octobre 2008
    Messages : 10
    Points : 2
    Points
    2
    Par défaut
    Merci bien pour la réponse.

    Oui j'ai fait ceci car ils ont dis dans le document que l'équivalent de void * pour JNA est la classe Pointer.
    En faisant ceci j'ai pas eu d'erreur de compilation.
    Je veux juste savoir si j'ai bien fait ou pas.
    aussi autre chose pour les constantes, j'ai pas trouvé l'equivalent en "JNA".
    Merci

  9. #9
    Invité
    Invité(e)
    Par défaut
    Il ne me semble pas que const existe, ni que ce soit utile en fait...

  10. #10
    Candidat au Club
    Inscrit en
    Octobre 2008
    Messages
    10
    Détails du profil
    Informations forums :
    Inscription : Octobre 2008
    Messages : 10
    Points : 2
    Points
    2
    Par défaut
    merci
    et pour le pointeur c'est bon, d'après vous?

Discussions similaires

  1. Comment faire des etats pour une application web ?
    Par ovh dans le forum Autres outils décisionnels
    Réponses: 6
    Dernier message: 06/07/2021, 03h25
  2. Réponses: 0
    Dernier message: 24/01/2010, 16h00
  3. javafx et java pour une application de bureau
    Par guitariste dans le forum JavaFX
    Réponses: 19
    Dernier message: 03/04/2009, 12h03
  4. Réponses: 28
    Dernier message: 23/10/2008, 15h06
  5. Quelle Base de données pour une application en Java
    Par Feysal dans le forum Décisions SGBD
    Réponses: 4
    Dernier message: 01/06/2007, 21h05

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