Pourquoi les .exe MFC font au minimum 700 Ko (environ) ? [MFC] - Programmation
Marsh Posté le 29-04-2002 à 17:35:35
Salut
Vérifie si tu ne lie pas la mfc42.dll statiquement, dans ce cas, elle sera incluse dans ton exe, ce qui en augmentera la taille.
A+
Marsh Posté le 29-04-2002 à 17:43:59
Harkonnen a écrit a écrit : Salut Vérifie si tu ne lie pas la mfc42.dll statiquement, dans ce cas, elle sera incluse dans ton exe, ce qui en augmentera la taille. A+ |
inversement si tu l'inclus pas dans l'exe, il sera dépendant, ce qui peut foutre la merde !!!
bêêêrk !!!
au fait Harkonnen
Marsh Posté le 29-04-2002 à 17:54:25
juju_le_barbare a écrit a écrit : inversement si tu l'inclus pas dans l'exe, il sera dépendant, ce qui peut foutre la merde !!! bêêêrk !!! au fait Harkonnen |
Juju
Oui, tout a fait, mais tout projet d'install correctement réalisé doit en principe inclure les dll nécessaires.
Et de toute façon, la quasi totalité des utilisateurs de Windows possèdent mfc42.dll sur leur machine.
Imagine le bazar pour les progs en C# !! Fournir le framework avec l'install, que du bonheur !!
Marsh Posté le 29-04-2002 à 18:39:34
L'executable final tu le compiles en Release, sa taille va fondre tu verras.
Marsh Posté le 29-04-2002 à 19:50:12
c'est quoi ça le mode release ? j'ai jamais vu ça ? c'est où ?
Marsh Posté le 30-04-2002 à 08:54:57
Harkonnen a écrit a écrit : Project -> Set Active Configuration |
...il a pas dit qu'il était sous VC !
Marsh Posté le 30-04-2002 à 09:10:13
T'as raison
Torpe23> Le menu que je t'ai donné est valable pour Visual C++ uniquement
Marsh Posté le 30-04-2002 à 09:47:59
Harkonnen a écrit a écrit : T'as raison Torpe23> Le menu que je t'ai donné est valable pour Visual C++ uniquement |
Mais si t'utilise un autre compilateur, trouves comment désactiver les infos pour dégbug...
Marsh Posté le 30-04-2002 à 09:58:31
Ben deja s'il nous indiquait son compilo, ça pourrait aider !
J'ai parlé de VC++ car je sais qu'antsite l'utilise et les autres réponses me laissent penser que les autres posteurs utilisent aussi VC++
Maintenant, s'il en utilise un autre, commercial ou non, soit il regarde dans la doc, soit il pose une question du style "J'utilise le compilateur machin, comment fait on pour compiler un exe en mode release ?"
Autre solution, il va sur groups.google.com avec les mots clé "compilateur", "release", "compilation" (remplacer "compilateur" par son compilo) et il va certainement trouver son bonheur !
Mais quoi qu'il en soit, je ne peux pas deviner le compilo qu'il utilise s'il ne le dit pas
Marsh Posté le 30-04-2002 à 11:01:57
Harkonnen a écrit a écrit : Ben deja s'il nous indiquait son compilo, ça pourrait aider ! J'ai parlé de VC++ car je sais qu'antsite l'utilise et les autres réponses me laissent penser que les autres posteurs utilisent aussi VC++ Maintenant, s'il en utilise un autre, commercial ou non, soit il regarde dans la doc, soit il pose une question du style "J'utilise le compilateur machin, comment fait on pour compiler un exe en mode release ?" Autre solution, il va sur groups.google.com avec les mots clé "compilateur", "release", "compilation" (remplacer "compilateur" par son compilo) et il va certainement trouver son bonheur ! Mais quoi qu'il en soit, je ne peux pas deviner le compilo qu'il utilise s'il ne le dit pas |
Non... ça tombe bien, il te l'as pas demandé d'ailleurs !
Marsh Posté le 30-04-2002 à 13:15:29
Salut,
Je n'avais pas précisé, en effet je crée un exe autonome vis a vis de mfc42.dll (c'est volontaire), donc cette lib est incluse.
Je vais donc essayer le mode Release ce soir. J'avais déjà désactiver les options Debug Mode, etc... que j'avais vu dans un Visual C++ pour les Nuls.
Marsh Posté le 30-04-2002 à 14:03:42
Dans ce cas, c'est normal que ton exe soit gros si tu y inclus la mfc42.dll
A+
Marsh Posté le 30-04-2002 à 19:12:06
Oui d'où ma question comment réduire la taille de l'exe (contenant la dll), mais je crois qu'encore une fois je dois te remercier car passer en mode Release crée un exe de 160Ko au lieu de 700Ko, génial ! Mais la dll est-elle toujours dedans ?
J'ai pas encore vérifié...
Marsh Posté le 02-05-2002 à 08:56:04
antsite a écrit a écrit : Oui d'où ma question comment réduire la taille de l'exe (contenant la dll), mais je crois qu'encore une fois je dois te remercier car passer en mode Release crée un exe de 160Ko au lieu de 700Ko, génial ! Mais la dll est-elle toujours dedans ? J'ai pas encore vérifié... |
télécharges UPX, qui est un compresseur d'exe. Ton exe reste un exe, mais est 3 fois moins gros...
Marsh Posté le 02-05-2002 à 09:18:24
Cette librairie etant developpee par MS, ne trouve-t-on pas cette dll sur a peu pres tous les systemes ?
Si je me souviens bien, elle est livree avec Win2K ...
Par ex la dll msvcrt (C RunTime Lib) est arrivee sur mon ordi lors de l'installe de Win98 ...
N'y a t il pas ainsi certaines dll (C et MFC) qui sont livree avec Windows ?
Certains logiciels de MS fournis avec Windows (Paint ...) utilisent les MFC il me semble ... ce serait alors logique que ces dll soient installees sur toutes les machines, non ?
Si c'etait le cas, le linkage dynamique serait tres interressant !
Marsh Posté le 02-05-2002 à 18:13:55
A mon avis toutes les dll sont fournies avec windows (Dll MFC) car comme tu l'as dit, une grande quantité d'app windows les utilisent.
Marsh Posté le 02-05-2002 à 18:22:13
Moi ce qui me fait peur, ce sont les prog développés en C# ! Autant fournir la mfc42.dll est finalement peu contraignant au regard de sa taille, autant le framework .NET et ses 20 Mo compressés jouent dans une toute autre cour....
Au fait, Ant, que dirais tu si je te choisissais comme boolay officiel ?
Marsh Posté le 02-05-2002 à 19:05:37
Harkonnen a écrit a écrit : Dans ce cas, c'est normal que ton exe soit gros si tu y inclus la mfc42.dll |
Legere correction: un .exe n'inclut pas une .dll.
- soit il linke avec la dll (qui doit etre fournie separement)
- soit il linke avec une lib statique qui contient les meme fonctions que la dll
Marsh Posté le 02-05-2002 à 19:05:42
Je vais surement passer pour un con mais c'est quoi un boolay ? boulet ? arf
Marsh Posté le 02-05-2002 à 19:06:48
Harkonnen a écrit a écrit : Moi ce qui me fait peur, ce sont les prog développés en C# ! Autant fournir la mfc42.dll est finalement peu contraignant au regard de sa taille, autant le framework .NET et ses 20 Mo compressés jouent dans une toute autre cour.... |
Idem pour le Java, remarque. On peut pas avoir le beurre et l'argent du beurre (les fonctionnalites et une taille minimale)!
Marsh Posté le 02-05-2002 à 19:07:54
antsite a écrit a écrit : Je vais surement passer pour un con mais c'est quoi un boolay ? boulet ? arf |
j'ai été faire un tour sur Blabla@prog mais j'ai pas tout lu alors j'ai pas tout compris mais en gros c'est un newbie et son "papa" non ?
[jfdsdjhfuetppo]--Message édité par antsite le 02-05-2002 à 19:59:41--[/jfdsdjhfuetppo]
Marsh Posté le 02-05-2002 à 19:52:15
en utilisant de telle compacteur, tu peux avoir des problèmes avec la mémoire.....
je t'invite a aller voir les nombreux topic sur www.ngscan.com
juju_le_barbare a écrit a écrit : télécharges UPX, qui est un compresseur d'exe. Ton exe reste un exe, mais est 3 fois moins gros... |
Marsh Posté le 03-05-2002 à 08:47:42
fabsk a écrit a écrit : Idem pour le Java, remarque. On peut pas avoir le beurre et l'argent du beurre (les fonctionnalites et une taille minimale)! |
Tu as raison, mais mis à part XP, tous les OS possèdent une JVM intégrée. Pas besoin de la fournir avec l'appli.
Marsh Posté le 03-05-2002 à 08:49:18
antsite a écrit a écrit : j'ai été faire un tour sur Blabla@prog mais j'ai pas tout lu alors j'ai pas tout compris mais en gros c'est un newbie et son "papa" non ? |
Oui, en quelque sorte, sauf que c'est pas forcément un newbie
Allez, je t'inclus à ma signature, tu deviens mon boolay officiel
Marsh Posté le 29-04-2002 à 17:33:43
Salut,
Mais oui, pourquoi lors de la création d'une Dialog avec le wizard, je n'arrive pas à aller en dessous de la barre des 700Ko (environ) ? Y a pas moyen de réduire la taille de l'éxécutable ?
a+
ANT