Dll sous devc++

AmelCres Messages postés 12 Date d'inscription samedi 8 mars 2008 Statut Membre Dernière intervention 28 mai 2008 - 17 mars 2008 à 22:16
SAKingdom Messages postés 3212 Date d'inscription lundi 7 novembre 2005 Statut Membre Dernière intervention 16 février 2009 - 18 mars 2008 à 00:09
Bonjour,

J ai besoin d'un ptit coup de main :

Je dois faire une DLL sous DevC++, et je ne sais pas comment m'y prendre.

J'ai le fichier .h .cpp et j ai créé le fichier .def mais dans mon fichier .h et .cpp j'ai plein de code déjà écrit par DevC++ et je ne sais pas  comment implémenter ma Dll avec tout ce code déjà écrit...

7 réponses

Neo_Fr Messages postés 653 Date d'inscription mardi 6 décembre 2005 Statut Membre Dernière intervention 10 novembre 2014 2
17 mars 2008 à 23:31
Salut,
Premierement remplace tt le code generer par devcpp par ca:
int APIENTRY DllMain(HINSTANCE hInst, DWORD reason, LPVOID reserved)
{
return 1;
}

Ensuite ajoute tes fonctions, puis dans le fichier .h ajoute le prototype des fonctions que tu veut exporter en ajoutant __declspec(dllexport) devant.

Neo_Fr
0
SAKingdom Messages postés 3212 Date d'inscription lundi 7 novembre 2005 Statut Membre Dernière intervention 16 février 2009 15
17 mars 2008 à 23:54
"puis dans le fichier .h ajoute le prototype des fonctions que tu veut exporter en ajoutant __declspec(dllexport) devant.
"
C'est inutile. On peut placer ce mot clé directement dans le .cpp.

__declspec(dllexport) void __stdcall fonction (int arg) {...}

Cependant, ajouter __declspec ajoutera une
décoration au nom des fonctions ( le nombre d'octets que fait
l'ensemble des paramètres si C, décoration C++ classique si C++).
C'est le fichier .def qui exportera les fonctions correctement (et surtout, sous forme standard).

C++ (@++)<!--
0
AmelCres Messages postés 12 Date d'inscription samedi 8 mars 2008 Statut Membre Dernière intervention 28 mai 2008
18 mars 2008 à 00:01
Dans le fichier .def je dois mettre quoi
0
Neo_Fr Messages postés 653 Date d'inscription mardi 6 décembre 2005 Statut Membre Dernière intervention 10 novembre 2014 2
18 mars 2008 à 00:05
LIBRARY "NomDeTaLib"
EXPORTS
NomDeTaFonction1 @1
NomDeTaFonction2 @2
NomDeTaFonction3 @3
etc..

Neo_Fr
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
SAKingdom Messages postés 3212 Date d'inscription lundi 7 novembre 2005 Statut Membre Dernière intervention 16 février 2009 15
18 mars 2008 à 00:05
EXPORTS
    Fonction1
    Fonction2
    Fonction3

etc. etc. etc.

C++ (@++)<!--
0
AmelCres Messages postés 12 Date d'inscription samedi 8 mars 2008 Statut Membre Dernière intervention 28 mai 2008
18 mars 2008 à 00:06
merci pour votre aide
0
SAKingdom Messages postés 3212 Date d'inscription lundi 7 novembre 2005 Statut Membre Dernière intervention 16 février 2009 15
18 mars 2008 à 00:09
@1
@2
@3

ne sert que si tu veux placer, dans la table d'exportation de ta dll, tes fonctions dans un ordre particulier. Sinon, on peut les omettre. Les fonctions seront placer par ordre alphabétique.

C++ (@++)<!--
0
Rejoignez-nous