IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

C++Builder Discussion :

Réduisez jusqu'a plus de 65% la taille de vos exécutables


Sujet :

C++Builder

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre Expert
    Avatar de DjmSoftware
    Homme Profil pro
    Responsable de compte
    Inscrit en
    Mars 2002
    Messages
    1 044
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Suisse

    Informations professionnelles :
    Activité : Responsable de compte
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Mars 2002
    Messages : 1 044
    Billets dans le blog
    1
    Par défaut Réduisez jusqu'a plus de 65% la taille de vos exécutables
    le compilateur de Borland C++ Builder n'efface pas dans
    les fichiers compilés de type .exe ou .ocx les fonctions exportés
    ce qui a pour effet d'alourdir la taille de l'exe

    de plus il genère également une table de relocation ,inutile dans le cas de fichiers de type .exe ou .ocx

    ces deux tables augmente la taille de votre exécutable d'environ 17%

    j'ai creé un outil permettant a l'aide de UPX de réduire la taille finale de
    l'exécutable de plus de 65 %

    cet outil s'appelle BCBStriper



    BCBStriper peut s'installer dans le menu contextuel de l'explorateur pour les extensions de fichier de type .exe et .ocx
    vous pouvez également l'installer dans la boîte à outils de C++Builder

    option de commande
    • /Install Installation de BCBStriper dans le menu contextuel
      /Uninstall suppression de BCBStriper du menu contextuel
      /FileName Stripping de l'exécutable


    en cas d'intérêt manifeste pour la structure interne des fichiers Exécutables (PE) je rédigerais un tutorial a cet effet

    vous pouvez le télécharger ici http://djmsoftware.developpez.com/Bc...StriperExe.zip
    vous trouverez mes tutoriels à l'adresse suivante: http://djmsoftware.developpez.com/
    je vous en souhaite une excellente lecture ...

    A lire : Les règles du forum

  2. #2
    Membre éclairé
    Homme Profil pro
    Consultant technique
    Inscrit en
    Juillet 2002
    Messages
    519
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Bas Rhin (Alsace)

    Informations professionnelles :
    Activité : Consultant technique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juillet 2002
    Messages : 519
    Par défaut
    Bonsoir,
    Une petite question :
    C'est juste un frontend lancer upx? Ou il fait d'autres actions?
    C'est à dire est-ce que c'est ton programme qui enlève ce qui sert à rien ou upx?

    Sinon, j'ai aussi fait il y a quelques temps une application pour lancer upx sans ligne de commande : http://gandf.chez.tiscali.fr/dev.htm dans la partie pour upx.

  3. #3
    Membre Expert
    Avatar de DjmSoftware
    Homme Profil pro
    Responsable de compte
    Inscrit en
    Mars 2002
    Messages
    1 044
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Suisse

    Informations professionnelles :
    Activité : Responsable de compte
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Mars 2002
    Messages : 1 044
    Billets dans le blog
    1
    Par défaut
    Bonjour,

    cette application n'est pas un simple front-end pour Upx
    elle supprime également 2 table inutiles des fichiers executables

    • la table de relocation (gain environ 7%)
      la table d'exportation (gain environ 10%)


    on peut égalememt ensuite séléctionner l'option Upx qui permet d'obtenir des gains en taille de 65% et plus

    j'ai même otenu des facteurs impressionants de 73% avec des applications WxWidgets

    cordialement
    vous trouverez mes tutoriels à l'adresse suivante: http://djmsoftware.developpez.com/
    je vous en souhaite une excellente lecture ...

    A lire : Les règles du forum

  4. #4
    Membre éclairé Avatar de BOUBOU81
    Profil pro
    system integrator
    Inscrit en
    Juin 2004
    Messages
    358
    Détails du profil
    Informations personnelles :
    Localisation : Allemagne

    Informations professionnelles :
    Activité : system integrator

    Informations forums :
    Inscription : Juin 2004
    Messages : 358
    Par défaut
    salut moi j'ai essyé ton prog et magnifique de 8,1Mo, je suis passé a 1,7Mo
    Mais le truc c'est que je comprend pas comment il peut le réduire d'autant, que fait exactement la fonction upx j'ai bien compris ce que tu avais rajouté, mais upx ne fait qu'une compression ou auter chose.
    une fois effectué mon programme fonctionne t'il exactement comme avant, ou faut-il ajouter des composants quand on l'export sur une autre machine ou il n'y a pas builder?
    Désolé si mais question sont bete mais j'aimeraie comprendre un peu mieux comment ça fonctionne :

  5. #5
    Membre Expert
    Avatar de DjmSoftware
    Homme Profil pro
    Responsable de compte
    Inscrit en
    Mars 2002
    Messages
    1 044
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Suisse

    Informations professionnelles :
    Activité : Responsable de compte
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Mars 2002
    Messages : 1 044
    Billets dans le blog
    1
    Par défaut
    bonjour,
    Upx est une compresseur de fichier executables comme l'est par exemple Winzip
    la différence est que un programme compressé avec UPX se décompresse automatiquement en mémoire lors de son chargement par l'OS
    dans ton cas le taux de compression est phénoménal ~79 %
    ce qui signifie probablement que tu a beaucoup de Fiches(Form)

    ton programme fonctione tout a fait comme avant
    UPX rajoute dans une partie du fichier exe le code pour décompresser
    le fichier en mémoire

    cordialement
    vous trouverez mes tutoriels à l'adresse suivante: http://djmsoftware.developpez.com/
    je vous en souhaite une excellente lecture ...

    A lire : Les règles du forum

  6. #6
    Nouveau membre du Club
    Inscrit en
    Juillet 2004
    Messages
    8
    Détails du profil
    Informations forums :
    Inscription : Juillet 2004
    Messages : 8
    Par défaut
    Bonjour,

    Je développe des applications de calculs avec interfaces et en effet j'ai essayé bcbstriper et upx. Cela marche très bien sauf pour certains exe où au démarrage j'ai une erreur d'adressage qui plante l'appli, ce qui n'est pas le cas sans compression. A quoi cela peut-il être dû ?
    Merci.

  7. #7
    Membre averti
    Profil pro
    Inscrit en
    Juillet 2004
    Messages
    38
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2004
    Messages : 38
    Par défaut
    Merci !!! Allé luya (je sais pas comment on écrit) lol pour ton SUPER PROG !


    PS : UPX rend le code asm plus difficile à lire non en plus ? (cool contres crackers débutants) non ?

  8. #8
    Inactif  
    Avatar de Kerod
    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    11 672
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 11 672
    Par défaut
    Merci beaucoup!!!elle est génial ton appli!!!

  9. #9
    Membre confirmé Avatar de jagboys
    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    166
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 166
    Par défaut
    Merci bien pour ton application !
    ça marche très bien !
    Bravo

  10. #10
    Invité
    Invité(e)
    Par défaut Licence
    Je n'ai rien compris dans les textes de licence ...

    On peut les utiliser gratuitement pour distribuer des logiciel dans le commerce ?

    Le texte de licence d'UPX spécifie "WITHOUT ANY WARRANTY", genre si l'exe du logiciel vendu ne fonctionne plus à cause d'upx, il nous reste les yeux pour pleurer, quoi.

    C'est un accessoire pour les amateurs de risque ou bien ?

  11. #11
    Membre expérimenté
    Avatar de Superstivix
    Inscrit en
    Décembre 2003
    Messages
    250
    Détails du profil
    Informations forums :
    Inscription : Décembre 2003
    Messages : 250
    Par défaut Re: Licence
    Citation Envoyé par Kaji
    Le texte de licence d'UPX spécifie "WITHOUT ANY WARRANTY", genre si l'exe du logiciel vendu ne fonctionne plus à cause d'upx, il nous reste les yeux pour pleurer, quoi.

    C'est un accessoire pour les amateurs de risque ou bien ?
    Moi j'ai utilisé ce logiciel en tests uniquement et il n'y a jamais eu de problèmes!

    Si tu veux prévenir tout problème fait une copie de ton executable et comme ça tu pourras toujours revenir en arrière.

  12. #12
    Membre éprouvé
    Avatar de Sunchaser
    Homme Profil pro
    OPNI (Objet Programmant Non Identifié)
    Inscrit en
    Décembre 2004
    Messages
    2 059
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Manche (Basse Normandie)

    Informations professionnelles :
    Activité : OPNI (Objet Programmant Non Identifié)
    Secteur : Industrie Pharmaceutique

    Informations forums :
    Inscription : Décembre 2004
    Messages : 2 059
    Par défaut
    Bonsoir,
    J'ai pas pu m'empecher d'essayer...
    Comme pour BOUBOU81 dans son message du 28 juill 04, j'ai obtenu
    un taux de compression vertigineux (80 %) et un exe qui fonctionne toujours aussi bien.

  13. #13
    Membre averti
    Profil pro
    Inscrit en
    Mars 2004
    Messages
    29
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2004
    Messages : 29
    Par défaut
    Bonjour,

    bien que je n'utilise pas BC++ je connais bien Delphi et la taille des exécutables y est du meme volume.

    Je voudrais juste signaler deux ou trois points importants.

    Il semble que la compression faite par UPX empeche windows de gérer le swap correctement.

    J'ai fait des tests sur un exe compressé et sa consommation mémoire augmente de manière sensible par rapport a la version non compressé.

    Voila, juste pour dire que je pense que le systeme est valable pour réduire un petit exe qui a vocation a etre distribué ou exécuté a travers un réseau lacal, mais que cela doit etre réservé a de petite applications.

    Pour un exécutable de plusieurs MO je ne suis pas sur que réduire la taille de l'exe soit judicieux par rapport a garder une gestion mémoire correcte.

  14. #14
    Membre Expert
    Avatar de DjmSoftware
    Homme Profil pro
    Responsable de compte
    Inscrit en
    Mars 2002
    Messages
    1 044
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Suisse

    Informations professionnelles :
    Activité : Responsable de compte
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Mars 2002
    Messages : 1 044
    Billets dans le blog
    1
    Par défaut
    bonsoir,
    pourrrais tu m'expliquer la méthode que tu a utilisée pour comparer la consommation mémoire de 2 executable, l'un compacté et l'autre non

    il est évident que lors du chargement de l'exécutable compressé la consomation mémoire soit plus grande que celle du même exeécutable compressé mais dés cette phase passée la consommation mémoire est identique

    la gestion mémore sous Win32 est faite de telle manière que lors du chargement du programme l'OS donne au programme un espace de travail plus grand que nécessaire au fonctionnement du programme
    ensuite de manière dymanique en fonction de la consommation générale de mémoire l'OS va réduire la mémoire utilisée par les différents process

    raison pour laquelle je ne suis pas d'accord avec ton analyse

    j'ai développé et utilisé des executables de gestion de base de donnée d'une taille de plus de 3 Mega que j'ai ensuite compressé avec BCBstriper sans aucun problème de stabilité de l'application et des PC sur lequel l'application était executée

    un avantage significatif de la compression d'éxécutable est la vitesse de chargement
    le temps de décompression en mémoire est négligable par rapport à la différence lors du chargement du même exécutable non compressé sur un support disque ou réseau

    cordialement
    vous trouverez mes tutoriels à l'adresse suivante: http://djmsoftware.developpez.com/
    je vous en souhaite une excellente lecture ...

    A lire : Les règles du forum

  15. #15
    Rédacteur
    Avatar de dvsoft
    Homme Profil pro
    Architecte technique
    Inscrit en
    Août 2002
    Messages
    176
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Architecte technique
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Août 2002
    Messages : 176
    Par défaut
    Bonjour,

    Allez faire un tour sur cette page

    http://www.jrsoftware.org/striprlc.php

    En bas de la page

    Why not use an EXE compressor?

    Alain

  16. #16
    Membre éclairé Avatar de Mangacker
    Profil pro
    Inscrit en
    Décembre 2006
    Messages
    452
    Détails du profil
    Informations personnelles :
    Âge : 33
    Localisation : Suisse

    Informations forums :
    Inscription : Décembre 2006
    Messages : 452
    Par défaut
    bonjour j'ai entendu dire que borland créait automatiquement des fichiers avec une certaine extention mais qu'ils ne sont jamais utilisés alors si quelqu'un en a entendu parlé qu'il me le dise

    merci beaucoup d'avance

  17. #17
    Membre averti
    Profil pro
    Inscrit en
    Décembre 2006
    Messages
    63
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2006
    Messages : 63
    Par défaut
    Bonjour à tous,

    Je viens de tester ce programme de compression d'exécutable.
    Sur mon project actuel, l'exécutable de taille 890ko a été réduit à 270ko.

    Je reconnais que j'utilise beaucoup de Tform, mais c'est quand même surprenant. (Taux de compression de 70 %)

    pour ce Travail d'une utilité incontestable

  18. #18
    Membre éclairé
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Septembre 2006
    Messages
    519
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 31
    Localisation : Suisse

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Septembre 2006
    Messages : 519
    Par défaut
    Bonjour, ASPack ne marche pas très bien,
    voici la raison pour laquelle je dis ça :
    Message d'ASPack :
    "Taille du fichier (avant compression) 175 104 bytes
    Taille du fichier (après compression) 181 760 octets"

    De plus l'exécutable compressé ne marche même plus et m'affiche le message connu du "xxx.exe a rencontré un problème et doit fermer. Nous nous excusons...
    Envoyer le rapport d'erreur | Ne pas envoyer"

    Franchement, on ne peut pas dire que ce soit une merveille, ce logiciel payant (heureusement qu'on peut l'essayer pour s'en rendre compte).

  19. #19
    Membre Expert
    Avatar de DjmSoftware
    Homme Profil pro
    Responsable de compte
    Inscrit en
    Mars 2002
    Messages
    1 044
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Suisse

    Informations professionnelles :
    Activité : Responsable de compte
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Mars 2002
    Messages : 1 044
    Billets dans le blog
    1
    Par défaut
    bonjour
    spidermario a dit
    Bonjour, ASPack ne marche pas très bien,
    voici la raison pour laquelle je dis ça :
    Message d'ASPack :
    "Taille du fichier (avant compression) 175 104 bytes
    Taille du fichier (après compression) 181 760 octets"

    De plus l'exécutable compressé ne marche même plus et m'affiche le message connu du "xxx.exe a rencontré un problème et doit fermer. Nous nous excusons...
    Envoyer le rapport d'erreur | Ne pas envoyer"

    Franchement, on ne peut pas dire que ce soit une merveille, ce logiciel payant (heureusement qu'on peut l'essayer pour s'en rendre compte)
    a tu essayé d'utilisé Aspcak après avoir compressé ton exe avec BCBStriper
    si c'est le cas il est parfaitement normal que Ascpak ne puisse travailler correctement
    vous trouverez mes tutoriels à l'adresse suivante: http://djmsoftware.developpez.com/
    je vous en souhaite une excellente lecture ...

    A lire : Les règles du forum

  20. #20
    Membre éclairé
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Septembre 2006
    Messages
    519
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 31
    Localisation : Suisse

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Septembre 2006
    Messages : 519
    Par défaut
    Non, il est par contre vrai que j'ai compressé l'exécutable avec upx, mais de toutes façons, je ne compte pas acheter ASPack.

Discussions similaires

  1. Réponses: 15
    Dernier message: 14/11/2011, 17h49
  2. Windows 7 sera jusqu'à 163 % plus cher en Europe qu'aux USA
    Par Katleen Erna dans le forum Windows 7
    Réponses: 209
    Dernier message: 08/09/2009, 15h07
  3. Windows 7 sera jusqu'à 163 % plus cher en Europe qu'aux USA
    Par Katleen Erna dans le forum Actualités
    Réponses: 210
    Dernier message: 17/08/2009, 11h16
  4. Réponses: 3
    Dernier message: 22/09/2008, 10h27
  5. Réponses: 2
    Dernier message: 16/05/2008, 10h32

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo