DLL

Signaler
Messages postés
24
Date d'inscription
mercredi 30 juin 2004
Statut
Membre
Dernière intervention
4 août 2004
-
Messages postés
933
Date d'inscription
dimanche 1 avril 2001
Statut
Modérateur
Dernière intervention
9 janvier 2012
-
Bonjour,

J'ai un progamme assez conséquent en C et on m'a demandé d'en faire une DLL.

J'aurai besoin de quelques conseils notamment pour le choix des fonctions
à mettre dans cette DLL.

Met-on simplement les fonctions qui sont utilisées plusieurs fois ?

Peut-on mettre dans 1DLL des fonctions qui apppellent des fonctions qui ne sont pas de la DLL
mais de l'exécutable?

Peut-on créer dans l'exécutable des fonctions qui utilisent des fonctions de la DLL qui elles
mêmes utilisent des fonctions de l'exécutable?

Comment fait-on pour exporter des données de l'exécutable vers la DLL.

Merci

5 réponses

Messages postés
700
Date d'inscription
mardi 30 décembre 2003
Statut
Membre
Dernière intervention
27 janvier 2009
4
'Met-on simplement les fonctions qui sont utilisées plusieurs fois ?' : oui.

'Peut-on mettre dans 1DLL des fonctions qui apppellent des fonctions qui ne sont pas de la DLL
mais de l'exécutable?' : non.

'Peut-on créer dans l'exécutable des fonctions qui utilisent des fonctions de la DLL qui elles
mêmes utilisent des fonctions de l'exécutable?' : non.

les dlls sont des 'modules' indépendants ! elles ne peuvent pas utiliser des fonctions de l'executable, mais tu peux communiquer avec les fonctions de la DLL en passant certains parametres a ses fonctions.

une dll contient un panier de fonctions qui servent en général a plsrs executables : ceux ci appelent les fonctions de la DLL au lieu d'avoir tous le meme code de ces fonctions en leur sein.
ca sert egalement pour les mises a jour : au lieu de devoir changer tout le programme qd une seule fonction est modifiée, il suffit de changer la DLL qui contient cette fonction.

'Comment fait-on pour exporter des données de l'exécutable vers la DLL.' > ne veut pas dire gd chose, mais bon.
qd tu appeles dans l'executable une fonction de la DLL, tu peux lui donner les parametres ke tu veux.
donc tu peux transmettre des informations a une fonction de la DLL vu que l'appel de la focntion de la DLL se fait dans l'executable...

j'ai l'impression ke tu nages completement ;)
Messages postés
24
Date d'inscription
mercredi 30 juin 2004
Statut
Membre
Dernière intervention
4 août 2004

merci de me le faire remarquer !!

oui je nage complètement et c'est un bonheur :clown)
Que viens-je faire là dans cette galère???

merci pour les renseignements

j'avance mon bonhomme de chemin vers la compréhension ...
Messages postés
2835
Date d'inscription
lundi 11 août 2003
Statut
Modérateur
Dernière intervention
16 décembre 2006
10
:big) Neodante :big)

J'ai fait vite fait un tut sur mon site ... rubrique Windows ... tu ne trouveras pas beaucoup de renseignements techniques sur les pourquoi une DLL mais juste de la technique de dev ...
(lien en dessous !) lol
@+

[Responsable www.neogamedev.com]
Messages postés
21042
Date d'inscription
jeudi 23 janvier 2003
Statut
Modérateur
Dernière intervention
21 août 2019
27
Encore une petite couche histoire d'atteindre la brasse coulee:
cosmobob a surement voulu eviter de t'affoler mais une func de dll peut appeler une func de l'exe si on lui en passe l'adresse, c'est ce que fait l'API Windows avec les fonctions callback.

ciao...
BruNews, Admin CS, MVP Visual C++
Messages postés
933
Date d'inscription
dimanche 1 avril 2001
Statut
Modérateur
Dernière intervention
9 janvier 2012
2
Voilà j'ai rajouté un exemple d'une DLL qui appelle une fonction dans un exe comme l'a précédament dit BruNews.

http://www.cppfrance.com/code.aspx?ID=24227

@+
Arnotic,
Admin CS, MVP Visual C++