cs_sandy27
Messages postés20Date d'inscriptionlundi 10 octobre 2005StatutMembreDernière intervention 6 août 2008
-
16 nov. 2005 à 12:03
cs_Gadour
Messages postés1Date d'inscriptionvendredi 10 septembre 2004StatutMembreDernière intervention 7 décembre 2005
-
7 déc. 2005 à 17:51
j'aimerais savoir comment utiliser une librairie DLL lorsqu'on a le
.lib. Je travaille en C sous Visual C++. Si quelqu'un avait un exemple
de création d'une DLL pour avoir le .lib et le .dll, ce serait génial !
On m'a juste dit: tu inclues le .lib dans ton projet. Ok mais après ??!!
cs_Gadour
Messages postés1Date d'inscriptionvendredi 10 septembre 2004StatutMembreDernière intervention 7 décembre 2005 7 déc. 2005 à 17:51
Pour inclure une DLL, tu dois :
- Ajouter le .LIB dans le porjet.
- Dans le fichier .h, tu ajoutes tous les fonctions et tu indiques qu'ils sont des fonctions externes:
extern "C" __declspec(dllexport) int myfunction();
ou bien: extern "C" __declspec(dllexport) int _stdcall myfunction();
ou bien: extern "C" __declspec(dllexport) int _cdecl myfunction();
ricky78
Messages postés126Date d'inscriptionjeudi 5 juin 2003StatutMembreDernière intervention11 juillet 2006 16 nov. 2005 à 12:21
bonjour
Tu inclus le .lib dans les link du projet.
Si c'est une DLL proprietaire tu peux directement inclure le fichier .h avec un #include "nomet chemin du .h"
dans ton projet pour te servir de tes fonctions ou de tes classes.
cs_sandy27
Messages postés20Date d'inscriptionlundi 10 octobre 2005StatutMembreDernière intervention 6 août 2008 16 nov. 2005 à 14:05
merci pour cette réponse ! donc, je rajoute .lib dans mes links, et
j'inclue le .h de la dll que je crée. j'imagine que je peux ensuite
utiliser les fonctions de ma librairie comme n'importe quelle autre
fonction (je suis vraiment débutante en C, et en librairies, n'en
parlons pas !!)
Vous n’avez pas trouvé la réponse que vous recherchez ?
j'ai donc rajouté les commandes données par BruNews. Comment j'utilise
les fonctions de ma DLL dans mon programme ? si je met juste le nom de
ma fonction (ex, ReadInputFile) ça marche pas, si je met WINAPI devant,
ça marche pas non plus, bref, je connais pas la syntaxe...
si ça peut aider, dans le DllMain, mes fonctions sont écrites comme ça:
cs_sandy27
Messages postés20Date d'inscriptionlundi 10 octobre 2005StatutMembreDernière intervention 6 août 2008 16 nov. 2005 à 14:49
super ! mes questions doivent paraitre vraiment basiques mais
t'imagines pas comme tu me sauves la vie, pauvre ignare que je suis !!
alors je continue encore un coup:
j'ai l'impression qu'il suffit pas de faire:
ReadInputFile(FILE *input_file)
dans le programme utilisant la dll pour utiliser la fonction en
question.... pourquoi pas ? puisqu'on a inclut le .h qui contient les
déclarations ?
BruNews
Messages postés21040Date d'inscriptionjeudi 23 janvier 2003StatutModérateurDernière intervention21 août 2019 16 nov. 2005 à 15:13
le compilo a toujours besoin de connaitre le prototype d'une fonction pour accepter son emploi, doit savoir convention d'appel (stdcall ou cdecl ou...), nbr params, etc...