[DLL] Questions

Questions [DLL] - Programmation

Marsh Posté le 22-01-2002 à 19:31:13    

J'ai quelques questions concernant les DLL. Je crois savoir que ces fichiers renferment des bouts de coude qui peuvent être utilisés par des applications externes, c'est juste?
 
Que renferme exactement une DLL?
Comment fait-on une DLL en C++?
 
Voilà, merci!

Reply

Marsh Posté le 22-01-2002 à 19:31:13   

Reply

Marsh Posté le 22-01-2002 à 19:43:57    

une DLL exporte des symbols ( functions, classes en C++, variables ... )
 
tu peux faire une DLL en C/C++.
les DLL fait par VB sont des ActiveX
Delphi fait peut etre des DLL mais j'en est aucune idee, tjrs rester sur mon bon vieux C++ :D


---------------
What butter and whiskey won't cure, there is no cure for.
Reply

Marsh Posté le 22-01-2002 à 19:57:06    

Et donc en C++ ça se présente comment le code?
 
Je pense pas qu'il y a une fonction main(), etc...

Reply

Marsh Posté le 22-01-2002 à 20:02:50    

sous l'editeur de kro:
tu fais t functions a export, tu met __declspec( dllexport ) juste devant
 
exemple:

Code :
  1. __declspec( dllexport ) int getMoumou( int num )
  2. {
  3.     return num * 5;
  4. }


 
marche aussi pour les class
 
dans le code du programme qui doit appeler la DLL, tu met la definition.
au lieu de dllexport tu peux mettre dllimport, mais ca donne le meme resultat.
 
sinon ya aussi un truc genre DllMain, regarde dans la doc, c'est cette fonction qui est appeler quand un programme charge ta dll, ou la decharge...


---------------
What butter and whiskey won't cure, there is no cure for.
Reply

Marsh Posté le 22-01-2002 à 22:01:50    

C'est vrai que c'est facile, je pensais pas que ça le serait autant :)
 
Sinon, pour le moment je n'ai que créé de DLL avec l'assistant de Visual C++ et en ajoutant une fonction au reste de code qui ne me sert pas. Est-ce que tout le code mis automatiquement sert à quelque chose? Et si non, peut-on l'enlever? Y a-t-il un moyen de créer une DLL sans l'assistant?

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed