Dll import Bonjour,, mais comment qu'on fait ???!!! [Résolu]

Signaler
Messages postés
185
Date d'inscription
samedi 21 mai 2005
Statut
Membre
Dernière intervention
16 juillet 2016
-
Messages postés
21042
Date d'inscription
jeudi 23 janvier 2003
Statut
Modérateur
Dernière intervention
21 août 2019
-
bonjour,

ça fait une heure que je cherche partout différentes manières de charger dynamiquement une librairie dll sans le .lib, j'ai essayé tout plein de truc et je pense que j'ai fait le tour des erreurs que visual C++ pouvait sortir, du genre "redefinition..." "too many argument ...." " function takes only one arguments...." et biensûr le "undeclared".. ... ... ...

alors s'il vous plait, ça fait un bail que je fais du C, mais si qqu'un pouvait m'expliquer comme à un enfant de 4 ans, je n'en serais pas vexé :o) ,
j'ai vu "loadlibrary", la technique avec typedef int (*fonction)(int j, ...) et dllimport qui me plait bien parce que ça me paraît plus simple mais j'ai réussi a faire marcher aucune...

I.Exemple concret :

je veux utiliser le fonction int WSAAsyncSelect(SOCKET s, HWND hwnd, u_int Msg, long lEvent); qui est dans la librairie WS2_32.dll

#include <windows.h>
..... à compléter .....
int APIENTRY WinMain(...){
..... à compléter .....
}
PS: désolé pour l'allure "Examen de C++", mais c'est à le mérite d'être clair

3 réponses

Messages postés
21042
Date d'inscription
jeudi 23 janvier 2003
Statut
Modérateur
Dernière intervention
21 août 2019
27
mais j'ai l'impression de parler à un mur, allez dis moi que tu le faisais exprès et que tu cesses...

Je recommence:
Quand on utilises un lib, le linker résoudra les entrées dans le binaire final (exe ici) mais le post utilisateur n'a absolument jamais à avoir de *.lib, c'est uniquement sur le post de dev. Faire une série de LoadLibray et GetProcAddress reviendrait au même résultat.
Tout ceci n'a rien de comparable C <=> VB.

ciao...
BruNews, MVP VC++
Messages postés
21042
Date d'inscription
jeudi 23 janvier 2003
Statut
Modérateur
Dernière intervention
21 août 2019
27
mais pourquoi tu ne veux pas utiliser le lib ??? c'est tout de meme 1000 fois plus simple.

#import "trucmuche.dll"
est pour les DLLs qui exposent des interfaces COM, donc aucun rapport.

ciao...
BruNews, MVP VC++
Messages postés
185
Date d'inscription
samedi 21 mai 2005
Statut
Membre
Dernière intervention
16 juillet 2016

oui, mais j'aime bien me compliquer la vie ,

du genre, depuis une semaine je m'embête a programmer qu'en ligne de code, no ressource et encore moins MFC, Visual Basic ça va j'ai donné, c bien jusqu'à un certain point
j'ai fait beucoup de c mais je me suis mis à visual c++ que depuis 2 semaines, et déjà j'ai mis le temps a comprendre qu'on pouvait programmer au moins de 2 façon avec VC++, avec ou sans MFC, après en MFC, CFormView, CTextForm, CView....., au bout d'un moment je comprennais plus grand chose alors, je me suis décider à me prendre bien la tête, même s'il faut réinventer la roue, j'ai besoin de comprendre ce que je fais et je comprend les fichier textes. ça c pour répondre au "c'est tout de meme 1000 fois plus simple."

Maintenant j'aimerai bien éviter d'avoir 36 fichiers (.h, .lib....) a copier quand je file mon executable à mes potes parce que c'est un chat que j'essaie de faire, et les gens à qui je les file, ils ont pas de logiciel de développement sur leurs machines, donc ils ont des message du genre :

Voilà, mais bon c'est vrai que le lib c'est simple, mais si la dll est sur windows, j'aimerai l'utiliser directement sans passer par un lib