wxDev.fr, le portail francophone consacré à wxWidgets ! ( The french portal for wxWidgets )  
Esp. membre
Recheche rapide



Recherche avancée
Statistiques
Membres inscrits :668

Membres en ligne : 0
Invités en ligne : 8
Pub hébergeur
Pourquoi cette pub ?

Valid XHTML 1.0 Transitional

Valid CSS2

Menu forum (navigation):
Pages: 1  
 
Accueil » Accueil forums » Compilation - Installation - Réglages IDE
» Le poids de vos applications
Conversation : Le poids de vos applications
03-01-2010 19:44:34  Le poids de vos applications #1
PaowZ (Membre)
Inscrit le : 04-02-2008
Messages: 16
Snippets: 0
Tutoriels: 0
Hors ligne
Bonjour,

Je me remets lentement à cette lib qu'est wxWidgets mais je ne me souvenais plus du poids des exe générés avec MinGW..

J'ai créé un ptit projet avec juste une frame et la version multi-lib de wxWidgets + comctl32.a + ole..etc. Bref, tout en lib. Et une fois linké, j'arrive à une app de 28Mo.. je sais que gcc ne produit pas du code allégé, mais tout de même..
Je pourrais striper ça avec UPX, par exemple, mais ça reste trop lourd pour une frame.

Quelle est la taille mini que vous arrivez à obtenir pour une app. bidon ? je dois pas avoir la bonne config.. :/ Y a de bonnes explications à cet endroit http://wiki.wxwidgets.org/Reducing_Executable_Size

Par exemple, wxInstall.exe fait près de 800ko. Xaviou, tu l'as compilé avec gcc (si tant est que tu aies utilisé wxWidgets) ?

Dernière modification par PaowZ (03-01-2010 19:49:32)

03-01-2010 20:16:55  Re: Le poids de vos applications #2
Xaviou (Administrateur)
Lieu: Annecy (74)
Inscrit le : 27-08-2007
Messages: 1191
Snippets: 23
Tutoriels: 6
Site web
Hors ligne
Salut.

En ce qui concerne wxInstall, cette application a bien été créée avec wxWidgets sous Code::Blocks en utilisant le compilateur gcc.
Je l'ai simplement compressé avec upx pour réduire la taille de l'exécutable, mais ce genre de méthode est à proscrire pour une application "usuelle", car la taille de mémoire vive utilisée est (il me semble) beaucoup plus importante qu'avec l'exécutable non compressé.

28Mo, c'est effectivement anormalement gros pour une simple wxFrame.

Je viens de faire le test :
- en version "dll" (linkage dynamique), l'exécutable fait 63Ko (il est linké avec deux dll : wxbase etwxcore)
- en version "lib" (linkage statique), l'exécutable fait 2.3Mo. Le link se fait avec les libs wxbase, wxcore, wxpng, wxzlib plus quelques libs de l'api win32.

Il faut donc que tu vérifies les options de ton projet (je soupçonne l'utilisation des libs debug,mais c'est à vérifier).

Tu peux utiliser l'assistant projet de la rubrique "Outils" pour créer un projet de base avec les options "normales", et ainsi, les comparer aux tiennes.

@+
Xav'

Le nouveau portail wxWidgets francophone : www.wxdev.fr
Ben en fait, vous y êtes déjà...
03-01-2010 20:32:18  Re: Le poids de vos applications #3
PaowZ (Membre)
Inscrit le : 04-02-2008
Messages: 16
Snippets: 0
Tutoriels: 0
Hors ligne
bien vu, Xaviou.. j'avais linké avec les libs compilées en version debug et j'avais laissé le flag _WX_DEBUG_ lorsque j'ai copié la target..
Oui, là, c'est mieux, j'ai 2.8Mo pour l'app compilée en release.

Je l'ai simplement compressé avec upx pour réduire la taille de l'exécutable, mais ce genre de méthode est à proscrire pour une application "usuelle", car la taille de mémoire vive utilisée est (il me semble) beaucoup plus importante qu'avec l'exécutable non compressé.
Ce qui semblerait logique. UPX doit mettre une entête de décompression pour l'exe et cette décompression se fait en mémoire vive, ensuite le program counter doit être placé au début de l'exécution du programme, en mémoire..
Menu forum (navigation):
Pages: 1  
 
Accueil » Accueil forums » Compilation - Installation - Réglages IDE
» Le poids de vos applications