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

Visual C++ Discussion :

Utiliser une dll


Sujet :

Visual C++

Vue hybride

Message pr�c�dent Message pr�c�dent   Message suivant Message suivant
  1. #1
    Membre confirm�
    Profil pro
    Inscrit en
    Octobre 2005
    Messages
    92
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2005
    Messages : 92
    Par d�faut Utiliser une dll
    Bonjour,

    Apres avoir parcouru des tutoriaux qui apprennent � faire des trucs supers durs, et les menus de Vc++ qui proposent des options plus compliqu� les unes que les autres, je pose ma question simple pour etre sur d'avoir fait comme il faut :

    J'ai 3 fichiers :
    - chose.h
    - chose.dll
    - chose.lib

    Je veux m'en servir je met les choses ou et je fais quoi dans les options du projets (je travaille sous visual c++ 2005 express) ?

    (Apparemment le C++ je maitrise pas )

  2. #2
    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
    (en supposant que les trois fichiers soient bien faits)

    1. Tu inclus (avec #include) chose.h dans les fichiers sources qui doivent utiliser les fonctions de la DLL.
      • Soit en copiant le fichier dans le r�pertoire du projet
      • Soit en sp�cifiant un chemin absolu ou relatif complet dans le #include
      • Soit en tripotant les "Addidional include directories" dans les options du projet

      Apr�s cette �tape, la compilation de chaque fichier source doit marcher.
    2. Tu lies le .lib au projet.
      • Soit en ajoutant dans un fichier source "#pragma comment(lib, "chose.lib")" (mais �a ne marche que sous visual)
      • Soit en ajoutant chose.lib aux options du projet (sous VS2005 : Project properties -> Configuration properties -> Linker -> Input -> Additional dependencies)

      Apr�s cette �tape, l'�dition de liens doit marcher.
    3. Il faut que la DLL soit accessible lors de l'�x�cution
      • Par exemple, dans le m�me r�pertoire que l'ex�cutable
      • Dans un r�pertoire sp�cifi� dans la variable d'environnement PATH

      Pour plus d'infos : Dynamic-Link Library Search Order
      Apr�s cette �tape, l'ex�cution doit marcher.

    Avec cela, normalement, �a devrait marcher.
    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.

  3. #3
    Membre confirm�
    Profil pro
    Inscrit en
    Octobre 2005
    Messages
    92
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2005
    Messages : 92
    Par d�faut
    Bon rien � faire en Express, pas trouv�, je suis pass� en normal et ca a march� direct sans rien faire ^^

    Merci pour tout je vais enfin pouvoir commencer � coder

  4. #4
    Membre confirm�
    Profil pro
    Inscrit en
    Octobre 2005
    Messages
    92
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2005
    Messages : 92
    Par d�faut
    Bon dans mon combat contre les Dll je cherche encore � comprendre quelques petites choses (oki j'ai menti, ENORMEMENT de choses).


    En 2 petites interrogations :
    1/ Ce que j'ai compris et dont je ne suis pas sur :
    Depuis une dll qqconque, coucou.dll , une entete coucou.h est construit et on int�grera celle ci dans notre projet. Cette entete coucou.h doit contenir des fonctions qui feront r�f�rence au fonction de la dll, ainsi qu'� sa structure de donn�e.
    On pourra donc trouver sur internet plusieurs entete coucou.h qui feront r�f�rence � la meme dll (ouh la "faire r�f�rence" je paris que c une expression employ� pour un autre emploi :/ )


    2/ Ou trouve t on les descriptions de ces dll ? ou trouve t on les entete associ� � ces dll ? Par exemple je suis � la recherche d'une entete et de la description de la dll pour HID.dll et je ne trouve nul part qqchose qui semble officiel. Il me semble pourtant que c une dll windows.
    Y a t il des entete hid.h officiel (je demande par la meme occasion)

    Merci de toutes les informations que vous pourrez m'apporter

  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
    Tu ne trouveras pas toujours un en-t�te par DLL.

    Les DLLs .Net n'en ont pas besoin (tout est inclus dedans sous forme de m�ta-donn�es), les "Composants COM" n'en ont pas non plus s'ils utilisent des interfaces connues (sinon, ils ont une biblioth�que de types).
    Quant aux DLLs de Windows, elles ont g�n�ralement des en-t�tes diff�rents: Les fonctions du Registre sont d�clar�es dans winbase.h et se trouvent dans advapi32.dll. Les fonctions socket se trouvent dans wsock32.dll et ws2_32.dll, mais sont d�clar�es dans winsock.h et winsock2.h, etc.
    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 confirm�
    Profil pro
    Inscrit en
    Octobre 2005
    Messages
    92
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2005
    Messages : 92
    Par d�faut
    Donc pour enrichir ma culture Dll et lever le brouillard de mon incompr�hension, comment sont utilis�es par un programme C/C++ les Dll auxquelles aucunes entete n'est associ�e ?
    Vous parlez de m�ta donn�e, mais comment y a t on acces ? une dll au bloc note c pas top � regarder

+ R�pondre � la discussion
Cette discussion est r�solue.

Discussions similaires

  1. [JNI] Difficult�s pour utiliser une DLL
    Par etiennegaloup dans le forum Entr�e/Sortie
    R�ponses: 10
    Dernier message: 15/08/2005, 21h29
  2. [Windows]utiliser une dll c# en java
    Par dude666 dans le forum API standards et tierces
    R�ponses: 3
    Dernier message: 01/07/2005, 02h19
  3. R�ponses: 7
    Dernier message: 13/01/2005, 10h30
  4. [DLL] utiliser une DLL a partir d' une DLL et un .def
    Par venomelektro dans le forum MFC
    R�ponses: 9
    Dernier message: 07/12/2004, 14h01

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