cs_amina08
Messages postés2Date d'inscriptionmercredi 19 mars 2008StatutMembreDernière intervention 8 avril 2008
-
6 avril 2008 à 13:26
SAKingdom
Messages postés3212Date d'inscriptionlundi 7 novembre 2005StatutMembreDernière intervention16 février 2009
-
6 avril 2008 à 14:53
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
SAKingdom
Messages postés3212Date d'inscriptionlundi 7 novembre 2005StatutMembreDernière intervention16 février 200915 6 avril 2008 à 14:53
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.
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.