Comment marche une DLL ou une LIB

Comment marche une DLL ou une LIB - C++ - Programmation

Marsh Posté le 29-07-2006 à 08:20:14    

J iamerais comprendre comment fonctionne une DLL. Commetn est ce que le linker (ou l executable) sait a quelle adresse il doit aller pour executer le code. Y a til une verification du nbre de parametres ...etc a l execution ???

Reply

Marsh Posté le 29-07-2006 à 08:20:14   

Reply

Marsh Posté le 29-07-2006 à 09:23:24    

Une dll contient une table d'exportation. Cette zone indique a l'exterieur quelles sont les fonctions accessibles, et permet de faire la correspondance entre noms "chaine" et points d'entree de chacune des fonctions.
 
Si tu ouvres une DLL avec un editeur hexadecimal et que tu cherches un peu, tu retrouveras les noms des fonctions qui sont exportees, moyennant une eventuelle decoration (i.e le compilateur complete le nom, par exemple pour distinguer les fonctions surchargees ).
 
Il n'y a pas de verification du nombre de parametres a l'execution, dans la mesure ou une DLL ne contient pas cette information la. Encore moins de verification de type.

Reply

Marsh Posté le 29-07-2006 à 11:22:11    

Merci je vais jeter un coup d oeil. Y a t il un site qui expliqe ca ou pas ?

Reply

Marsh Posté le 29-07-2006 à 12:14:10    

Tu peux chercher du cote du format "PE" ( pour Portable Executable ), qui est le format des executables windows ( .exe, .dll, etc ... ).  
Evidemment si ton but est de creer et d'utiliser ta propre dll tu n'as absolument pas besoin de savoir tout ca!  
Et si tu veux regarder comment c'est fichu dans une dll, le plus efficace a mon avis c'est d'utiliser un desassembleur windows, ou un autre outil d'edition de PE. Tu pourras ainsi te balader dans les en-tetes pour avoir une idee plus claire de ce qui se passe dans les couches plus basses ...

Reply

Marsh Posté le 30-07-2006 à 21:52:22    

Merci pour ton aide en tout cas

Reply

Marsh Posté le 31-07-2006 à 02:04:44    

salut
moi g un pb de novice. g jamais fais de DLL de ma vie (g honte mais bon...) mais par contre je sais écrire du code en c++ et en vba excel. Donc voici mon pb:
j'aimerai creer une DLL en c++ et l'appeler à partir de VBA, mais pb je c pas comment on fait. donc voici mes questions:
-comment creer une DLL en c++?
-comment l'appeler à partir de VBA?
toutes réponse à ces questions sont la bienvenue, si qqn peut m'aider en illustrant ses réponses par un exemple simple ce serait encore mieux.  
merci par avance.

Reply

Marsh Posté le 31-07-2006 à 05:14:34    

C'est ce tutoriels en francais ici :
http://rp.developpez.com/vb/tutoriels/dll/

Reply

Sujets relatifs:

Leave a Replay

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