Intégration DLL sous VC++

Résolu
Quazar Messages postés 84 Date d'inscription mardi 19 octobre 2004 Statut Membre Dernière intervention 6 octobre 2006 - 31 août 2006 à 18:31
Quazar Messages postés 84 Date d'inscription mardi 19 octobre 2004 Statut Membre Dernière intervention 6 octobre 2006 - 1 sept. 2006 à 17:23
Bonjour

J'ai un programme utilisant une dll que je charge dynamiquement. Je ne rencontre aucun lorsque je l'utilise.
Je voudrais désormais avoir un exe qui englobe mes deux fichiers, mon programme + ma dll.

Je voudrais savoir s'il est possible de faire une telle chose (j'y crois pas des masses), suis je obligé de passer par un .lib ? Comment puis je dans ce cas passer facilement de ma DLL a ma bibliotheque statique ?

Je vous remercie par avane.

Vers l'infini et au delà... [Q]

9 réponses

BruNews Messages postés 21040 Date d'inscription jeudi 23 janvier 2003 Statut Modérateur Dernière intervention 21 août 2019
31 août 2006 à 18:40
Si le DllMain() de la DLL ne fait rien de particulier alors no prob, place les fichiers de code de la dll dans le projet exe et compile.

ciao...
BruNews, MVP VC++
racpp Messages postés 1909 Date d'inscription vendredi 18 juin 2004 Statut Modérateur Dernière intervention 14 novembre 2014 17
31 août 2006 à 18:39
Salut,

Tu peux mettre ta DLL en ressource. Tu peux regarder mon code source: ICI.
wxccxw Messages postés 755 Date d'inscription samedi 15 mai 2004 Statut Membre Dernière intervention 30 janvier 2011
31 août 2006 à 21:13
comme la dit brunew
Quazar Messages postés 84 Date d'inscription mardi 19 octobre 2004 Statut Membre Dernière intervention 6 octobre 2006
1 sept. 2006 à 10:30
Salut

Désolé de répondre un peu tard.
Merci d'avoir répondu si promptement.

La premiere solution (passer par un ressource) me séduit car je voudrais éviter de trimballer le code de ma dll. Cependant l'inconvénient principale c'est quand meme que je sois obligé de créer un fichier.
C'est pour cette raison que je vais plutot  opter pour la deuxieme solution.

A tout hasard, ne connaitriez vous pas un moyen de faire un 'LoadLibrary' d'une zone memoire ?

Vers l'infini et au delà... [Q]

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

Posez votre question
DeAtHCrAsH Messages postés 2670 Date d'inscription vendredi 25 janvier 2002 Statut Membre Dernière intervention 6 février 2013
1 sept. 2006 à 11:51
Il existe une troisième possibilités.
Tu peux remplacer ta dll en mettant le code directement dans l'exe, et un exportant les fonctions tel une dll le ferai.
Tu gardes ainsi toute la souplesse que permette les dll et tu n'as qu'un seul fichier.
De plus, si un jour tu décidais de repasser en dll, le code serait directement réutilisable.

Un exemple de ce genre de manipe est dispo sur le site. De mémoire c'est un code de ymca2003 ou de aardman

Shell
Quazar Messages postés 84 Date d'inscription mardi 19 octobre 2004 Statut Membre Dernière intervention 6 octobre 2006
1 sept. 2006 à 14:11
Je  n'ai pas tres bien compris cette troisieme possibilité.
Mauis en regardant le  de aardman je m apercois que ce n'est pas vraiment ce que je cherche a faire. Je ne veux pas que mon exe final soit utilisable comme une dll. Simplement que l'exe final englobe ma dll sans que j ai besoin de l'exporter (solution 1) ou d'intégrer/retoucher le code de ma dll (solution 2).

Je vais partir sur la solution 2, bien que le fait de me replonger dans le code de ma dll ne m enchante guere :)
Merci pour tout en tout cas.

Vers l'infini et au delà... [Q]
racpp Messages postés 1909 Date d'inscription vendredi 18 juin 2004 Statut Modérateur Dernière intervention 14 novembre 2014 17
1 sept. 2006 à 15:53
Bonjour,
Il parait qu'il est possible de charger une dll depuis la  mémoire. Certains membres l'ont testé avec succès. Notre ami vecchio56 avait trouvé un article intéressant à ce sujet:
http://www.joachim-bauch.de/tutorials/load_dll_memory.html/en
Quazar Messages postés 84 Date d'inscription mardi 19 octobre 2004 Statut Membre Dernière intervention 6 octobre 2006
1 sept. 2006 à 16:56
Merci encore. Je suis passé par la solution 1... c'est pour ca que j ai indiqué que la réponse etait accepté, histoire de clore le sujet.
Je vais me jeter tout de meme sur le tuto de chargement de dll en mémoire, ca me parait plus qu'intéressant...

Merci bcp donc. J'ai personnellement pas mal avancé dans l'utilisation des librairies et des ressources.

Vers l'infini et au delà... [Q]
Quazar Messages postés 84 Date d'inscription mardi 19 octobre 2004 Statut Membre Dernière intervention 6 octobre 2006
1 sept. 2006 à 17:23
Merci en plus pour le lien. C'est de la dynamite pour moi.... merci encore

Vers l'infini et au delà... [Q]
Rejoignez-nous