georgeduke
Messages postés167Date d'inscriptiondimanche 6 février 2005StatutMembreDernière intervention13 avril 2007
-
12 juin 2005 à 21:06
Lutinore
Messages postés3246Date d'inscriptionlundi 25 avril 2005StatutMembreDernière intervention27 octobre 2012
-
19 juin 2005 à 15:51
Bonjour tout le monde !
J'ai développé un utilitaire ; pour lancer ce dernier, il suffit
d'avoir l'exe bien-sûr et un fichier dll. Pour des questions de
facilité de déploiement, j'aurais aimé n'avoir qu'il n'y ait qu'un seul
fichier, -l'exe-.
Est-ce que quelqu'un sait s'il est possible, de mettre cette dll à l'interieur même de mon exe ??
Lutinore
Messages postés3246Date d'inscriptionlundi 25 avril 2005StatutMembreDernière intervention27 octobre 201241 12 juin 2005 à 21:50
Salut, moui je pense que c'est possible.. Je promets rien.. mais normalement en transformant ta DLL et ton EXE en code MSIL avec l'utilitaire Ildasm.exe puis en recompilant les deux fichiers avec Ilasm.exe ca devrait marcher.. Il faudra peut etre apporter quelques modifs au manifeste.. mais ta DLL ne doit pas comporter de code natif ! Attention aux programmeurs en C++ managed qui utilise toujours un peu code natif dans leurs programmes.. Bien sur tout ca c'est valable si tu ne disposes pas du code source, sinon je pense que tu ne poserais meme pas la question.. : )
Troborg
Messages postés65Date d'inscriptionsamedi 24 avril 2004StatutMembreDernière intervention 1 août 20056 12 juin 2005 à 23:28
Hum..
Georgeduke a indiqué "j'ai développé un utilitaire"... du coup on peut supposer qu'il dispose du code source....
Si c'est le cas, et bien il suffit d'ajouter la dll en référence dans le projet (si tu utilises Visual Studion, clique droit sur le projet, puis "Add Reference") puis de recompiler...
Bon, sans code source la méthode ci-dessus s'impose !
Lutinore
Messages postés3246Date d'inscriptionlundi 25 avril 2005StatutMembreDernière intervention27 octobre 201241 13 juin 2005 à 00:31
Rassures moi Georgeduke, il s'agit bien d'une librarie dont tu ne disposes pas du code source !? Je viens de tester la methode que j'ai decrite plus haut, ca marche mais j'ai ramé.. en fait c'est un peu plus que quelques modifs qu'il faut apporter au code MSIL..
Vous n’avez pas trouvé la réponse que vous recherchez ?
georgeduke
Messages postés167Date d'inscriptiondimanche 6 février 2005StatutMembreDernière intervention13 avril 2007 13 juin 2005 à 07:38
Ben disons, qu'entre-temps, j'ai retrouvé le code source de la dll que j'utilise dans mon prog (je devrais mieux ranger mes sources... ça devient n'importe quoi...)
Donc du coups, je n'avais plus le besoin décrit dans mon premier message.
Merci de votre aide en tout cas, car ça m'a permis de savoir qu'il
était possible de mettre une dll dans un exe par la méthode décrite par
Lutinor ; même si ça parait pas si évident que ça effectivement...
Cela dit, j'ai remarqué quelque chose d'étrange : Lorsque j'utilise mon
appli avec la dll en référence, l'exe me prend 3Mo de plus en
mémoire vive que si j'insère seulement le code source de la dll !
Troborg
Messages postés65Date d'inscriptionsamedi 24 avril 2004StatutMembreDernière intervention 1 août 20056 19 juin 2005 à 00:53
Mais si.. Ya toujours des gens qui gens qui lisent les messages...
Ne serait-ce que ceux qui ont posté et coché l'option "M'envoyer un mail lorsqu'il y a une réponse à cette discussion." !
En tout cas je garde en mémoire ton utilitaire ! ... Ca peut être utile !
Merci !
cs_Bidou
Messages postés5487Date d'inscriptiondimanche 4 août 2002StatutMembreDernière intervention20 juin 201361 19 juin 2005 à 11:17
Mais si, y'a toujours du monde qui vient regarder les postes
Et en plus, y'a une fonctionnalité pour voir les derniers messages postés...
Sinon à propos du sujet, si le but c'est d'avoir qu'un seul fichier pour faciliter le déploiement, on peut toujours créer un .msi qui va se charger de faire tout ce qui faut (avec le windows installer de visual studio donc.... bon ok, pour un petit programme ça peut être un peu lourd...)
Lutinore
Messages postés3246Date d'inscriptionlundi 25 avril 2005StatutMembreDernière intervention27 octobre 201241 19 juin 2005 à 15:51
Ah bha si y'a des lecteurs.. : )
En fussionnant des DLL dans un EXE y'a surement un petit gain de memoire à l'execution par contre je me demande si il y'a un gain en performance !?
Pour le gain de memoire je suppose que ca depend du cas de figure, par exemple si un EXE reference une DLL ( pas fusionnee ) mais que les fonctions de la librairie ne sont pas appelees ( pas systematiquement ), la librarie n'est pas chargee en memoire ?