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

MFC Discussion :

[VS2005][JNI-C++] Obtenir la dll au lieu d'un lib et exp ?


Sujet :

MFC

  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Juillet 2004
    Messages
    65
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2004
    Messages : 65
    Par défaut [VS2005][JNI-C++] Obtenir la dll au lieu d'un lib et exp ?
    Bonjour,

    Je fais quelques tests pour interfacer du java avec C++. (Apl de fonctions C++ dans Java), cependant au moment de la compilation Visual Studio me génère un fichier lib et un exp or je voudrais un dll, j'ai un peu de mal avec les concepts lib et dll (La différence?).
    Si vous avez une solution pour moi elle est la bienvenue, je recherche également des docs sur le C++ les dll Visual Studio et JNI j'en demande beaucoup je sais mais il me faut la solution

    Merci d'avance

    Julie.

    Note : J'ai bien essayé de mettre dans le configuration type du projet : Dynamic library mais je pense pas (en tout cas ca ne marche pas avec mon code java) que ce soit ca il me génère tout de meme le lib et exp

  2. #2
    Membre confirmé
    Profil pro
    Inscrit en
    Juillet 2004
    Messages
    65
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2004
    Messages : 65
    Par défaut
    Complément

    J'ai testé avec une projet type Win32 Application ca marche donc ca vient du fait que je sois en Win32 Console ... Ca ne marchera pas avec ce mode je suppose ?

    Julie.

  3. #3
    Membre émérite
    Avatar de Gabrielly
    Inscrit en
    Juin 2004
    Messages
    722
    Détails du profil
    Informations forums :
    Inscription : Juin 2004
    Messages : 722
    Par défaut
    Je fais quelques tests pour interfacer du java avec C++. (Apl de fonctions C++ dans Java), cependant au moment de la compilation Visual Studio me génère un fichier lib et un exp or je voudrais un dll, j'ai un peu de mal avec les concepts lib et dll (La différence?).
    Dans l'utilisation des dll tu as 3 types de fichiers importants

    les fichiers *.h qui contient toutes les déclarations des méthodes et classes que tu exportes. Le contenu de ce genre de fichier dépend du type de dll que tu génères sous VC++. L'intérêt des fichiers *.h et de les inclures dans tout projet C++ client qui en a besoin afin que le compilo ne se fache pas.

    le fichier *.lib est une librairie qui contient toutes les définitions des méthodes et classes que tu exportes. Encore faut-il faire la différence entre déclaration et définition. Ainsi lorsque le linker compile et lie ton projet, il n'aura pas à se soucier à trouver toutes les définitions des objets étrangers que tu as importer dans ton projet client car il connaitra leur nature graçe au fichier *.lib. alors que le fichier exp contient la table d'exportation de tes méthodes, une sorte de compilation du *.def en *.exp.

    le fichier *.dll est le fichier ou l'unité exécutable sous forme binaire qui sera directement utilisé par tes exes ou autres dlls. Il comprend toutes les définitions de tes objets que tu exportes et permet la réutilisabilité au niveau binaire.

    Voilà, je crois que les experts peuvent me compléter.

  4. #4
    Membre émérite
    Avatar de Gabrielly
    Inscrit en
    Juin 2004
    Messages
    722
    Détails du profil
    Informations forums :
    Inscription : Juin 2004
    Messages : 722
    Par défaut
    J'ai testé avec une projet type Win32 Application ca marche donc ca vient du fait que je sois en Win32 Console ... Ca ne marchera pas avec ce mode je suppose ?
    Comme Java est l'appli cliente alors le genre de dll que tu puisses faire est soit une DLL Win32, ou bien si tu exploites les MFC c'est une DLL régulière MFC.

    A défaut d'une DLL classique tu peux faire une DLL ATL COM et appelé les méthodes de l'interface de ton composant dans ton code java.


  5. #5
    Membre confirmé
    Profil pro
    Inscrit en
    Juillet 2004
    Messages
    65
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2004
    Messages : 65
    Par défaut
    Merci pour vos réponse je comprend mieux j'ai d'ailleurs réussi à faire ce que je voulais. Par contre j'ai un prog qui marche trés bien en version exe. J'ai repris le même code pour faire une dll que j'utilise avec Java et JNI et là ca me crée des "Access violation"
    Du coup j'ai du mal à voir comment corriger ca

    Julie.

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

Discussions similaires

  1. [JNI]appel d'un dll en Java
    Par Aida dans le forum Entrée/Sortie
    Réponses: 22
    Dernier message: 23/01/2008, 16h19
  2. [JNI] Remontée d'évenements DLL C++ vers Java
    Par eag35 dans le forum Entrée/Sortie
    Réponses: 14
    Dernier message: 16/09/2007, 20h53
  3. [JNI] chargement de plusieur Dll
    Par thibal_kamehouse dans le forum Entrée/Sortie
    Réponses: 4
    Dernier message: 13/10/2006, 10h49
  4. [JNI]Execution d'une dll dans un jar avec package
    Par osopardo dans le forum Entrée/Sortie
    Réponses: 2
    Dernier message: 01/09/2006, 11h50
  5. [IDE][C# 1.1] Comment obtenir Intellisence > dll perso ?
    Par irnbru dans le forum EDI/Outils
    Réponses: 4
    Dernier message: 25/02/2006, 02h14

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