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

Delphi Discussion :

XE7 : paramétrage des options pour un EXE plus compact


Sujet :

Delphi

  1. #1
    Membre régulier

    Profil pro
    Inscrit en
    Avril 2004
    Messages
    536
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2004
    Messages : 536
    Points : 121
    Points
    121
    Par défaut XE7 : paramétrage des options pour un EXE plus compact
    Bonjour à tous

    Suite à l'information donnée par Paul Toth, lors de ma question http://www.developpez.net/forums/d15...aucoup-lourds/ sur les EXE devenus très lourds, j'ai regardé les options de compilation.

    Que j'active ou non certaines options (informations de débogage, optimisation, etc) je me retrouve avec un EXE du même poids. A l'octet près.

    Pourquoi ?

  2. #2
    Expert éminent
    Avatar de Lung
    Profil pro
    Analyste-programmeur
    Inscrit en
    Mai 2002
    Messages
    2 664
    Détails du profil
    Informations personnelles :
    Âge : 43
    Localisation : France, Haute Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Analyste-programmeur
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2002
    Messages : 2 664
    Points : 6 961
    Points
    6 961
    Par défaut
    Tu as testé les modes de construction ?
    Sous XE7, mon dernier projet pesait 12,5 Mo en débug et 2.5 Mo en release.
    L'urgent est fait, l'impossible est en cours, pour les miracles prévoir un délai. ___ Écrivez dans un français correct !!

    C++Builder 5 - Delphi 6#2 Entreprise - Delphi 2007 Entreprise - Delphi 2010 Architecte - Delphi XE Entreprise - Delphi XE7 Entreprise - Delphi 10 Entreprise - Delphi 10.3.2 Entreprise - Delphi 10.4.2 Entreprise - Delphi 11.1 Entreprise
    OpenGL 2.1 - Oracle 10g - Paradox - Interbase (XE) - PostgreSQL (15.4)

  3. #3
    Membre régulier

    Profil pro
    Inscrit en
    Avril 2004
    Messages
    536
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2004
    Messages : 536
    Points : 121
    Points
    121
    Par défaut
    "Mode de construction" : peux-tu préciser ?

    Pour celui auquel je pense, c'est un projet Win32. Il y a 8 boutons, un Statusbar, 3 Groupbox, un menu général, un TJvSHFileOperation, un TJvSearchFiles, 4 JvPopupMenu, deux ou trois labels. Un thème, aussi, mais de Delphi, pas un truc extérieur.

    Les options sont ici :


  4. #4
    Membre émérite
    Avatar de Thierry Laborde
    Homme Profil pro
    N/A
    Inscrit en
    Avril 2002
    Messages
    1 391
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 53
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : N/A

    Informations forums :
    Inscription : Avril 2002
    Messages : 1 391
    Points : 2 529
    Points
    2 529
    Par défaut
    Bonjour,

    En fait Lung parle du gestionnaire de projets :

    http://docwiki.embarcadero.com/RADSt...ire_de_projets

    Dans lequel on peut choisir une configuration de construction (Par défaut il y en a 2 : DEBUG et RELEASE, mais on peut en créer d'autres). Et quand on compile avec la configuration RELEASE l'exe est beaucoup plus petit.

  5. #5
    Membre expérimenté
    Homme Profil pro
    Ingenieur de recherche - Ecologue
    Inscrit en
    Juin 2003
    Messages
    1 146
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingenieur de recherche - Ecologue

    Informations forums :
    Inscription : Juin 2003
    Messages : 1 146
    Points : 1 412
    Points
    1 412
    Par défaut
    Citation Envoyé par Thierry Laborde Voir le message
    Bonjour,

    En fait Lung parle du gestionnaire de projets :

    http://docwiki.embarcadero.com/RADSt...ire_de_projets

    Dans lequel on peut choisir une configuration de construction (Par défaut il y en a 2 : DEBUG et RELEASE, mais on peut en créer d'autres). Et quand on compile avec la configuration RELEASE l'exe est beaucoup plus petit.
    Il me semblait bien qu'il y en a 2 (debug et release); mais sur mon projet je ne vois que DEBUG (pour l'instant cela me convient) mais aurais-je fait un bêtise ? Y a t-il un moyen de la faire réapparaitre ? Sinon, pas de problème, je reconstruirai les options

    a+
    Merci d'ajouter un sur les tags qui vous ont aidé

  6. #6
    Expert éminent sénior
    Avatar de Paul TOTH
    Homme Profil pro
    Freelance
    Inscrit en
    Novembre 2002
    Messages
    8 964
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Paris (Île de France)

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

    Informations forums :
    Inscription : Novembre 2002
    Messages : 8 964
    Points : 28 430
    Points
    28 430
    Par défaut
    un projet standard créé avec Delphi XE7 propose les deux environnements, mais un clic droit sur "Configuration de construction" permet d'en créer autant qu'on veux
    Nom : Capture-1.png
Affichages : 451
Taille : 8,6 Ko

    le nom n'a aucune importance, c'est juste un libellé qui permet de regrouper une série d'options.

    dans la fenêtre "Options de projet" il est aussi possible d'Enregistrer et d'Appliquer (charger) une configuration, il est donc possible de récupérer le debug/release d'un projet vierge vers un projet existant
    Developpez.com: Mes articles, forum FlashPascal
    Entreprise: Execute SARL
    Le Store Excute Store

  7. #7
    Membre expérimenté
    Homme Profil pro
    Ingenieur de recherche - Ecologue
    Inscrit en
    Juin 2003
    Messages
    1 146
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingenieur de recherche - Ecologue

    Informations forums :
    Inscription : Juin 2003
    Messages : 1 146
    Points : 1 412
    Points
    1 412
    Par défaut
    dans la fenêtre "Options de projet" il est aussi possible d'Enregistrer et d'Appliquer (charger) une configuration, il est donc possible de récupérer le debug/release d'un projet vierge vers un projet existant
    C'est ce que je vais faire, merci
    Merci d'ajouter un sur les tags qui vous ont aidé

  8. #8
    Membre régulier

    Profil pro
    Inscrit en
    Avril 2004
    Messages
    536
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2004
    Messages : 536
    Points : 121
    Points
    121
    Par défaut
    Effectivement, ça change tout.

    Je pense que les librairies d'exécution seront toujours dans l'EXE, de sorte à pouvoir exécuter celui-ci même lorsque Delphi n'est pas installé.

    Ce qui m'inquiète, c'est ça :



    "Lier avec les packages d'exécution". Ici, la photo a été prise avec une version Debug. En realease, ça reste exécutable, en principe, malgré ce False sur "Lier avec les packages d'exécution" ?

  9. #9
    Expert éminent sénior
    Avatar de ShaiLeTroll
    Homme Profil pro
    Développeur C++\Delphi
    Inscrit en
    Juillet 2006
    Messages
    13 447
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Seine Saint Denis (Île de France)

    Informations professionnelles :
    Activité : Développeur C++\Delphi
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juillet 2006
    Messages : 13 447
    Points : 24 849
    Points
    24 849
    Par défaut
    Activer "Lier avec les packages d'exécution" implique le déploiement des BPL énumérés
    Si tu as un grand nombre d'exe et de dll, cela a tout son sens et permet d'échanger des objets entre Exe et DLL
    A voir si les BPL sont installés dans System32, dans un chemin ajouté au PATH ou dans le même répertoire que les exe et dll

    Si tu n'as qu'un gros EXE, le déploiement en laissant intégré les bibliothèques sera plus facile
    Ensuite, un petit coup de UPX et un EXE en release de 15Mo passe à 3Mo !

    Le même EXE en Debug monte à 56Mo !
    Aide via F1 - FAQ - Guide du développeur Delphi devant un problème - Pensez-y !
    Attention Troll Méchant !
    "Quand un homme a faim, mieux vaut lui apprendre à pêcher que de lui donner un poisson" Confucius
    Mieux vaut se taire et paraître idiot, Que l'ouvrir et de le confirmer !
    L'ignorance n'excuse pas la médiocrité !

    L'expérience, c'est le nom que chacun donne à ses erreurs. (Oscar Wilde)
    Il faut avoir le courage de se tromper et d'apprendre de ses erreurs

  10. #10
    Membre régulier

    Profil pro
    Inscrit en
    Avril 2004
    Messages
    536
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2004
    Messages : 536
    Points : 121
    Points
    121
    Par défaut
    UPX : comme LZEXE ? http://bellard.org/lzexe.html

    Un bijou de programmation assembleur. Ds une boîte de l'Allier (années 90), j'ai appris qu'avec l'accord du créateur, un programmeur avait lu son source, et avait écrit le soft inverse : UNlzexe.

    Si ça fonctionne comme sous MSDOS, ça ne devrait pas ralentir le lancement de l'application.

    P.S. : Unlzexe était écrit en C

  11. #11
    Expert éminent sénior
    Avatar de Paul TOTH
    Homme Profil pro
    Freelance
    Inscrit en
    Novembre 2002
    Messages
    8 964
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Paris (Île de France)

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

    Informations forums :
    Inscription : Novembre 2002
    Messages : 8 964
    Points : 28 430
    Points
    28 430
    Par défaut
    Citation Envoyé par bvsud Voir le message
    UPX : comme LZEXE ? http://bellard.org/lzexe.html

    Un bijou de programmation assembleur. Ds une boîte de l'Allier (années 90), j'ai appris qu'avec l'accord du créateur, un programmeur avait lu son source, et avait écrit le soft inverse : UNlzexe.

    Si ça fonctionne comme sous MSDOS, ça ne devrait pas ralentir le lancement de l'application.

    P.S. : Unlzexe était écrit en C
    les compresseurs d'exe ont un impact désastreux sur la gestion mémoire, au lieu d'avoir un chargement par portion de l'application selon ses besoins, tout est chargé d'un coup.
    Developpez.com: Mes articles, forum FlashPascal
    Entreprise: Execute SARL
    Le Store Excute Store

  12. #12
    Membre régulier

    Profil pro
    Inscrit en
    Avril 2004
    Messages
    536
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2004
    Messages : 536
    Points : 121
    Points
    121
    Par défaut
    Alors, ça a changé.

    Sous MSDOS, impossible de faire la différence - enfin, à l'oeil nu. Même avec des XT, pas des AT.

    Donc, ne pas utiliser de compresseur. Je vais bosser ces modes de construction.

  13. #13
    Expert éminent sénior
    Avatar de Paul TOTH
    Homme Profil pro
    Freelance
    Inscrit en
    Novembre 2002
    Messages
    8 964
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Paris (Île de France)

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

    Informations forums :
    Inscription : Novembre 2002
    Messages : 8 964
    Points : 28 430
    Points
    28 430
    Par défaut
    Citation Envoyé par bvsud Voir le message
    Alors, ça a changé.

    Sous MSDOS, impossible de faire la différence - enfin, à l'oeil nu. Même avec des XT, pas des AT.

    Donc, ne pas utiliser de compresseur. Je vais bosser ces modes de construction.
    sous MSDOS tu pouvais aussi fonctionner par Overlay, et là je doute qu'un compresseur soit compatible puisque l'idée des Overlay est là encore de charger le programme par portions.
    Developpez.com: Mes articles, forum FlashPascal
    Entreprise: Execute SARL
    Le Store Excute Store

  14. #14
    Membre régulier

    Profil pro
    Inscrit en
    Avril 2004
    Messages
    536
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2004
    Messages : 536
    Points : 121
    Points
    121
    Par défaut
    Oui, les overlay !

    C'était très difficile à programmer, déboguer davantage encore, mais surtout pas très fiable. Beaucoup de progs plantaient là-dessus. Je leur préférais des modules EXE s'appelant les uns les autres. Et puis c'était plus "clair", plus limpide, au niveau programmation.

    Quand ça marchait, Les types qui faisaient ça en étaient fier. On comprend pourquoi. Ability, un intégré, jouait là-dessus. Mais avec lui, ça ne marchait pas. "Il s'est bien vendu" me disait un commercial (qd-même très technique), mais il était buggué. C' est dommage".

Discussions similaires

  1. Paramétrage des IP pour le clusterware
    Par childeric dans le forum Installation
    Réponses: 2
    Dernier message: 27/10/2008, 10h21
  2. disparition des options pour les fichiers cachés
    Par ph4prod dans le forum Windows XP
    Réponses: 8
    Dernier message: 07/08/2007, 02h28
  3. Paramétrage des utilisateurs pour Samba
    Par Hobbi1 dans le forum Administration système
    Réponses: 3
    Dernier message: 18/07/2006, 11h05
  4. Désactivation de certaines options pour un exe donné
    Par Invité(e) dans le forum Windows
    Réponses: 6
    Dernier message: 04/01/2006, 19h46
  5. [debutant][JNI]Stocker des objet pour les rappeler plus tard
    Par Celenor dans le forum Entrée/Sortie
    Réponses: 7
    Dernier message: 28/03/2004, 01h28

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