DLL plusieur façons de faire possible ?
Bonjour,
Je regarde depuis quelque jour la façon de faire une DLL et à ma grande suprise je ne trouve pas beaucoup de tutoriaux. Sur les rares tutoriaux que j'ai trouvé on a souvent le droit à :
Code:
1 2 3 4
|
#include <windows.h>
BOOL APIENTRY dllMain(...);
export "C" int maFonction(); |
mais j'ai aussi trouvé :
Code:
1 2 3
|
#include "UnHeaderPerso.h"
export maFonction(...); |
Quel est la forme à respecter ?
Puis lors de la compilation la dll, le fichier "fichier.lib" ne se crée que si on passe un fichier .def en plus du fichier c ou cpp au compilateur. A moins que je n'ai pas bien compris.
Voici la ligne de commande utilisée :
Code:
cl /LD fichier.cpp fichier.def
Pourquoi le fichier .lib ne se crée pas en entrant seulement :
Mes questions sont les suivantes :
* le fichier .def est-il indispenssable pour créer le fichier .lib ?
* De plus le .lib est-il la seul manière de linker l'exe à la DLL ?
Je m'interesse depuis peu au monde windows et je trouve ça quand même super complexe ! Quand on sait que sous linux avec gcc, il suffit de taper :
Code:
gcc fichier.cpp -so fichier.so
pour avoir une librairie linker dynamiquement (dll linux, quoi ! :D )
Merci d'avance pour vos réponses