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
21041
Date d'inscription
jeudi 23 janvier 2003
Statut
Modérateur
Dernière intervention
21 août 2019
27
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++
3
racpp
Messages postés
1910
Date d'inscription
vendredi 18 juin 2004
Statut
Modérateur
Dernière intervention
14 novembre 2014
14
31 août 2006 à 18:39
Salut,

Tu peux mettre ta DLL en ressource. Tu peux regarder mon code source: ICI.
0
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
0
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]
0

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
0
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]
0
racpp
Messages postés
1910
Date d'inscription
vendredi 18 juin 2004
Statut
Modérateur
Dernière intervention
14 novembre 2014
14
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
0
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]
0
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]
0