cs_Stormy
Messages postés255Date d'inscriptionsamedi 20 avril 2002StatutMembreDernière intervention16 janvier 2007
-
21 juin 2004 à 17:21
Arnaud16022
Messages postés1329Date d'inscriptionvendredi 15 août 2003StatutMembreDernière intervention16 juin 2010
-
9 juin 2005 à 17:53
Y aurait-t-il un moyen de réduire la taille des exécutable compilés C++ histoire d'optimiser l'ensemble. merci pour les informations et ++ à tous.
xarier
Messages postés688Date d'inscriptionjeudi 26 décembre 2002StatutMembreDernière intervention19 mai 2005 21 juin 2004 à 22:08
UNe autre chose avec upx il a plusieur option tu peut meme telecharger un interface graphique.
autre chose la meilleur methode de copression c de glisser ton prog directement dans UPX.
si tu ne le trouve pas dit le moi bonne chance
Life is Short 8-)
cs_Stormy
Messages postés255Date d'inscriptionsamedi 20 avril 2002StatutMembreDernière intervention16 janvier 2007 21 juin 2004 à 22:15
Effectivement, après compilation Release (et non Debug) je passe d'une taille de 152 Ko à 24 Ko. Puis, sous UPX, je termine à 10 Ko. Cela fait une très belle réduction. merci à vous deux et ++
xarier
Messages postés688Date d'inscriptionjeudi 26 décembre 2002StatutMembreDernière intervention19 mai 2005 21 juin 2004 à 22:34
oui oui j'aimmerai bien je fini mon prog et la on commence. mais j'aimmerais encore plus le creé avec toi ,bumpman,FUNTO,amk,kirua....la liste est long car un travaill d'equipe c toujour super .
cs_LordBob
Messages postés2865Date d'inscriptionsamedi 2 novembre 2002StatutMembreDernière intervention11 mai 20099 21 juin 2004 à 22:36
kan tu veux, tu nous reunis tous un soir sur un chat, on en discute tous ensemble... mais la on va ptete arreté de lui polluer son message sur le forum, lol !!!
Bob...
"La chance accorde ses faveur aux esprits avertis..."
xarier
Messages postés688Date d'inscriptionjeudi 26 décembre 2002StatutMembreDernière intervention19 mai 2005 21 juin 2004 à 22:53
me revoila j'ai oublie de dire un trucs si tu utilise VC++7 il ne faut BIEN relger les option de compilation car des fois tu change les options ton exe deviend plus petit mais le prob c qu'il ne marche sous win98 que avec des dll (presque 2MO).
Life is Short 8-)
cs_Stormy
Messages postés255Date d'inscriptionsamedi 20 avril 2002StatutMembreDernière intervention16 janvier 2007 21 juin 2004 à 23:16
Lol manifestement, vous vous connaissez bien tout les deux!
Un dernier truc : Le fichier c:\WINNT\system32\ n'existe pas sur XP. Or, l'equivalent c'est quoi?
Peut être un truc du genre:
c:\WindowsXP\system32\
c:\WinXP\system32
Encore merci ++
cs_LordBob
Messages postés2865Date d'inscriptionsamedi 2 novembre 2002StatutMembreDernière intervention11 mai 20099 21 juin 2004 à 23:28
desoler, je ne suis pas daccord... si il parle du repertoire de windows, et/ou system, alors ce repertoire peut etre different pour chaque ordinateur, puisque choisit par l'utilisateur lors de l'installation... mais pour trouver leur chemin, il exite deux API fournit par Windows: GetSystemDirectory() et l'autre dont je me rapel plus :blush) ... pour plus d'info il faut allé voir dans la MSDN !!!
Bob...
"La chance accorde ses faveur aux esprits avertis..."
Arnaud16022
Messages postés1329Date d'inscriptionvendredi 15 août 2003StatutMembreDernière intervention16 juin 20102 9 juin 2005 à 17:53
ce forum date un peu mais je faisais des recherches sur ce sujet et je suis tombé la.
En gros vous proposez 2 méthodes, la release (c'est pas une
optimisation mais ca vire juste les infos de déug, inutiles pour une
utilisation normale) et l'UPX (ca je connaissais)
il existe d'autres solutions...
sous VC 6:
dans les options du projet, onglet c++, code generation: choisir dll multithreadée
dans la liste d'options, juste en dessous, on rajoute : /ALIGN:16384 (marche pas tjs)
On vire la fonction WinMain (ou main() ). Comme il faut bien un point d'entrée au prog, on met tout en haut de main.cpp:
#pragma comment(linker, "/entry:myWinMain")
et on remplace la ligne WinMain(touscesfoutusparametresalanoix){ par
__declspec(naked) int __stdcall myWinMain(){
on vire TOUT ce qu'il y a dans main et on remplace par:
BOOL CALLBACK AppDlgProc(HWND hdlg, UINT mssg, WPARAM wParam, LPARAM lParam)
{..le meme code que dans windows... les initialisations, tout le tintouin, les timers, l'affichage,...}
j'ai pas fait le test notez bien
En tout cas merci Brunews, la moitié dee ces astuces viennent de lui