Fichier dll

Signaler
Messages postés
2
Date d'inscription
mercredi 19 mars 2008
Statut
Membre
Dernière intervention
8 avril 2008
-
Messages postés
3212
Date d'inscription
lundi 7 novembre 2005
Statut
Membre
Dernière intervention
16 février 2009
-
bonjour,
Je voudrais savoire comment créer et utiliser un fichier dll dans mon programme C++ ?
Et comment je peux connaitre les fonction existantes dans une dll deja compiler ?
Merci d'avance

1 réponse

Messages postés
3212
Date d'inscription
lundi 7 novembre 2005
Statut
Membre
Dernière intervention
16 février 2009
15
Avec VC++, suffis simplement de créer un projet DLL.
Pour exporter tes fonctions, tu peux utiliser le mot clé __declspec(dllexport).
__declspec(dllexport) void __stdcall toto1 (void) {...}

Cependant, ce mot clé ajoutera une décoration au nom des fonctions. Pour exporter de façon "standard", on utilise un fichier .def que l'on remplit avec le nom des fonctions exportées avec, en son entête, le mot EXPORTS

EXPORTS
    toto1
    toto2
    etc. etc.

Le linker (ou le compilo peut-importe) te générera une librairie static (.lib) que tu pourras lier au projet où tu souhaites utiliser ta DLL.
Tu peux aussi créer un fichier header (.h) qui contiendra les prototypes de tes fonction que tu pourras inclure dans les fichiers sources la demandent.
Si tu as utilisé __declspec(dllexport) pour exporter tes fonctions, il faudra utiliser __declspec(dllimport) dans la définition de tes prototypes.

__declspec(dllimport) void __stdcall toto1 (void);

Pour connaître les fonctions exportées d'une dll, utilise un programme fait pour ça (dependency walker par exemple). Cependant, sans le prototype de la fonction, ceci est complètement inutile.

C++ (@++)<!--