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

C++ Discussion :

cr�er un wrapper pour une DLL �crite en C++ sans avoir acc�s au code source


Sujet :

C++

Vue hybride

Message pr�c�dent Message pr�c�dent   Message suivant Message suivant
  1. #1
    Membre averti
    Femme Profil pro
    �tudiant
    Inscrit en
    Juillet 2015
    Messages
    28
    D�tails du profil
    Informations personnelles :
    Sexe : Femme
    �ge : 31
    Localisation : France, Var (Provence Alpes C�te d'Azur)

    Informations professionnelles :
    Activit� : �tudiant
    Secteur : High Tech - �lectronique et micro-�lectronique

    Informations forums :
    Inscription : Juillet 2015
    Messages : 28
    Par d�faut cr�er un wrapper pour une DLL �crite en C++ sans avoir acc�s au code source
    Bonjour,

    Je dispose d'une DLL �crite en C++ et je souhaiterais cr�er un wrapper C de celle-ci.
    Je dispose du fichier .h et du fichier .dll mais je n'ai pas acc�s au code source (.cpp).

    Est-ce qu'il est possible de cr�er un wrapper sans le code source ? Si oui, pouvez-vous m'indiquer les d�marches � suivre ou si un tutoriel existe je veux bien que vous le partagiez s'il vous pla�t ?

    Je vous remercie par avance pour votre aide.

    Bien cordialement.

    Karen

  2. #2
    Expert confirm�

    Avatar de dragonjoker59
    Homme Profil pro
    Software Developer
    Inscrit en
    Juin 2005
    Messages
    2 033
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    �ge : 43
    Localisation : France, Bas Rhin (Alsace)

    Informations professionnelles :
    Activit� : Software Developer
    Secteur : High Tech - �diteur de logiciels

    Informations forums :
    Inscription : Juin 2005
    Messages : 2 033
    Billets dans le blog
    12
    Par d�faut
    Salut!

    Pour wrapper une DLL, il faut que tu saches:
    1) Les fonctions qu'elle exporte (faisable en utilisant Dependency Walker, ou en ayant le .h que tu dis avoir)
    2) Les fonctions dont tu as besoin parmi ces fonctions.

    Et donc oui, c'est faisable sans avoir le code source.
    Si vous ne trouvez plus rien, cherchez autre chose...

    Vous trouverez ici des tutoriels OpenGL moderne.
    Mon moteur 3D: Castor 3D, presque utilisable (venez participer, il y a de la place)!
    Un projet qui ne sert � rien, mais qu'il est joli (des fois) : ProceduralGenerator (G�n�ration proc�durale d'images, et post-processing).

  3. #3
    Expert confirm�
    Homme Profil pro
    D�veloppeur informatique
    Inscrit en
    F�vrier 2005
    Messages
    5 504
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    �ge : 53
    Localisation : France, Val de Marne (�le de France)

    Informations professionnelles :
    Activit� : D�veloppeur informatique
    Secteur : Conseil

    Informations forums :
    Inscription : F�vrier 2005
    Messages : 5 504
    Par d�faut
    Il faut aussi avoir le m�me compilateur, les m�mes versions des librairies et des templates et les m�mes options de compilation utilis�s pour compiler un wrapper de Dll.

    C'est tellement con de faire une Dll en C++ qui n'exporte pas une API utilisable en C que je penche pour de l'amateurisme complet.

    Oui, c'est faisable, mais il y a tellement de choses qui peuvent partir en sucette que ...

  4. #4
    Membre averti
    Femme Profil pro
    �tudiant
    Inscrit en
    Juillet 2015
    Messages
    28
    D�tails du profil
    Informations personnelles :
    Sexe : Femme
    �ge : 31
    Localisation : France, Var (Provence Alpes C�te d'Azur)

    Informations professionnelles :
    Activit� : �tudiant
    Secteur : High Tech - �lectronique et micro-�lectronique

    Informations forums :
    Inscription : Juillet 2015
    Messages : 28
    Par d�faut
    Merci pour vos r�ponses.

    Donc oui je dispose du .h, je peux avoir acc�s � tous les prototypes pr�sents dans la DLL et je peux donc faire un tri des fonctions que j'ai besoin.

    Pour vous mettre dans le contexte on m'a fourni un dossier avec plusieurs fichiers (.dll, .h et .lib), cette DLL est compil�e en C++.
    J'ai besoin de l'importer sous LabVIEW et pour cela on m'a conseill� de cr�er un wrapper afin de faire le lien avec LabVIEW, notamment dans le cas de l'utilisation de types de donn�es sp�cifiques au C++.

    Malheureusement je n'ai pas acc�s au code source pour l'instant, vous m'avez dit qu'il �tait possible de cr�er un wrapper sans le code source donc pouvez-vous m'en dire plus s'il vous plait ?

    Je vous remercie par avance.

  5. #5
    Expert �minent
    Avatar de M�dinoc
    Homme Profil pro
    D�veloppeur informatique
    Inscrit en
    Septembre 2005
    Messages
    27 397
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    �ge : 41
    Localisation : France

    Informations professionnelles :
    Activit� : D�veloppeur informatique
    Secteur : High Tech - �diteur de logiciels

    Informations forums :
    Inscription : Septembre 2005
    Messages : 27 397
    Par d�faut
    Cf. la r�ponse de Bacelar: Si la DLL utilise le moindre type de la STL dans son interface publique, alors tu auras besoin de savoir exactement quel compilo a �t� utilis� (� la version pr�s!) et utiliser exactement le m�me, sans quoi c'est peine perdue.

    Si la DLL n'emploie que des types primitifs dans son interface par contre, tu as une chance.
    SVP, pas de questions techniques par MP. Surtout si je ne vous ai jamais parl� avant.

    "Aw, come on, who would be so stupid as to insert a cast to make an error go away without actually fixing the error?"
    Apparently everyone.
    -- Raymond Chen.
    Traduction obligatoire: "Oh, voyons, qui serait assez stupide pour mettre un cast pour faire disparaitre un message d'erreur sans vraiment corriger l'erreur?" - Apparemment, tout le monde. -- Raymond Chen.

  6. #6
    Membre averti
    Femme Profil pro
    �tudiant
    Inscrit en
    Juillet 2015
    Messages
    28
    D�tails du profil
    Informations personnelles :
    Sexe : Femme
    �ge : 31
    Localisation : France, Var (Provence Alpes C�te d'Azur)

    Informations professionnelles :
    Activit� : �tudiant
    Secteur : High Tech - �lectronique et micro-�lectronique

    Informations forums :
    Inscription : Juillet 2015
    Messages : 28
    Par d�faut
    Si j'ai bien compris j'ai peu de chance de r�ussir.

    Y a t'il un moyen rapide pour savoir si la DLL utilise un certain type de la STL dans son interface publique?

    Je suis encore une d�butante donc excusez-moi si c'est une question �l�mentaire.

Discussions similaires

  1. R�ponses: 6
    Dernier message: 21/06/2005, 21h45
  2. Cr�er un index pour une Base de donn�es
    Par john7 dans le forum VB 6 et ant�rieur
    R�ponses: 4
    Dernier message: 31/01/2005, 21h43
  3. result: chaine de caract�re pour une DLL
    Par Sephiroth Lune dans le forum Langage
    R�ponses: 7
    Dernier message: 27/07/2004, 23h05
  4. Utilisation d'une dll �crite en delphi 5 dans VB6
    Par Jean-Louis dans le forum Langage
    R�ponses: 4
    Dernier message: 05/08/2002, 09h19
  5. Equivalent � ExeName pour une DLL
    Par Smortex dans le forum Langage
    R�ponses: 7
    Dernier message: 16/07/2002, 21h07

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