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

EDI Delphi Discussion :

Delphi XE2 : un EXE au format XXL


Sujet :

EDI Delphi

  1. #21
    Expert éminent sénior
    Avatar de ShaiLeTroll
    Homme Profil pro
    Développeur C++\Delphi
    Inscrit en
    Juillet 2006
    Messages
    13 459
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    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 459
    Points : 24 873
    Points
    24 873
    Par défaut
    Déjà, tu embarques la JVCL, cela ne doit pas être si léger en code !
    Regarde la taille des BPL, cela te donnera une idée des binaires intégrés à l'Exe !

    As-tu changé la Configuration Debug\Release ?
    Avec la JVCL, il y a doit y avoir beaucoup d'informations de débogage en plus, cela gonfle l'exe pour le Debug, ce n'est pas !
    Il y a aussi l'optimisation des codes non utilisés (pas de points bleus), c'est une option activé par défaut, il me semble ?

    Cherche à réduire la taille du programme qu'en mode Release !

    FMX, pour info, c'est une nouvelle VCL pour le Cross-Platform Win\MacOS
    Ainsi que iOS
    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

  2. #22
    Nouveau membre du Club
    Homme Profil pro
    Maintenance nucléaire
    Inscrit en
    Janvier 2007
    Messages
    107
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Maintenance nucléaire
    Secteur : Industrie

    Informations forums :
    Inscription : Janvier 2007
    Messages : 107
    Points : 36
    Points
    36
    Par défaut
    J'utilise la JVCL depuis plusieurs années.
    Certe ça gonfle le EXE mais pas dans de telles proportions.


    Ceci dit, pour utiliser cette version de Delphi, j'ai du prendre une version très récente des JEDI (VCL/JVCL), il est possible que cette version soit gonflée à bloc.

    En effet, le JEDI inclus des outils de débogage, tous les paramètres relatifs au JEDI pour le mode débogage sont désactivés par défaut (je viens de vérifier).

    Je suis en mode Release depuis 2-3 jours environ.

    Je ne vois pas ce que tu veux dire par "Il y a aussi l'optimisation des codes non utilisés (pas de points bleus), [...]".
    J'ai bien des points bleus en vis à vis de mes lignes de codes. Je n'y avait jamais fait attention (ce qui ne veut pas dire que je ne les avais pas avant ). Cela signifie t-il que ce code peut-être optimisé ?

    J'ai vu que l'on peux coder pour MAC et aussi en Win64.

    Il faudrait que je teste à l'occasion, ça pourrait être amusant (j'ai un MAC OS mais pas de IOS).

  3. #23
    Nouveau membre du Club
    Homme Profil pro
    Maintenance nucléaire
    Inscrit en
    Janvier 2007
    Messages
    107
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Maintenance nucléaire
    Secteur : Industrie

    Informations forums :
    Inscription : Janvier 2007
    Messages : 107
    Points : 36
    Points
    36
    Par défaut
    J'ai fais une petite vérif :

    Sur la version 2.0 des JEDI (sur Delphi 2007), il y a environ 20Mo de BPL.
    Sur la version 2.2 des JEDI (sur Delphi XE), il y a environ 26Mo de BPL.
    Sur la version 2.3 des JEDI (sur Delphi XE2), je ne peux pas dire pour les BPL car ils sont dans un dossier commun avec les BPL des autres composants.


    Je suppose, qu'à la construction du projet, le compilateur injecte tel quel les BPL des composants dans le EXE ?

    Naga

  4. #24
    Membre chevronné Avatar de philnext
    Profil pro
    Inscrit en
    Octobre 2002
    Messages
    1 552
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2002
    Messages : 1 552
    Points : 1 780
    Points
    1 780
    Par défaut
    Une des causes de la taille importante depuis D2009 est le RTTI. SI tu as un projet simple il y a peu de chances que tu l'utilises.
    Donc pour le dé-valider, avant le USES dans ton DPR tu rajoutes :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    {$IF CompilerVersion >= 21.0} 
      {$WEAKLINKRTTI ON} 
      {$RTTI EXPLICIT METHODS([]) PROPERTIES([]) FIELDS([])} 
    {$IFEND}

  5. #25
    Membre chevronné Avatar de philnext
    Profil pro
    Inscrit en
    Octobre 2002
    Messages
    1 552
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2002
    Messages : 1 552
    Points : 1 780
    Points
    1 780
    Par défaut
    Sinon tu peux aussi vérifier la taille respective de tes DCU (y compris importés) en installant GExpert qui rajoute, dans le menu 'Projet' un outil 'Project Analyser' qui te donne la taille de chaque DCU de ton projet...

  6. #26
    Nouveau membre du Club
    Homme Profil pro
    Maintenance nucléaire
    Inscrit en
    Janvier 2007
    Messages
    107
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Maintenance nucléaire
    Secteur : Industrie

    Informations forums :
    Inscription : Janvier 2007
    Messages : 107
    Points : 36
    Points
    36
    Par défaut
    Salut PhilNext,

    J'ai rajouté la clause RTTI dans mon code (testé dans le DPR et dans le PAS).
    Le EXE est passé de 9024Ko à 8394Ko.
    Une légère baisse.

    Qu'est ce que le RTTI ?

    Naga

  7. #27
    Nouveau membre du Club
    Homme Profil pro
    Maintenance nucléaire
    Inscrit en
    Janvier 2007
    Messages
    107
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Maintenance nucléaire
    Secteur : Industrie

    Informations forums :
    Inscription : Janvier 2007
    Messages : 107
    Points : 36
    Points
    36
    Par défaut
    Citation Envoyé par philnext Voir le message
    Sinon tu peux aussi vérifier la taille respective de tes DCU (y compris importés) en installant GExpert qui rajoute, dans le menu 'Projet' un outil 'Project Analyser' qui te donne la taille de chaque DCU de ton projet...
    J'ai un outil Project Analyser dans le compilateur.
    Dans l'onglet :
    Détail : le plus gros élément "JclStrings 524 292 BSS"
    Summary : le plus gros élément "Controls 130 260 (CODE+ICODE+DATA)"
    Form : Le seul élément, ma fiche pèse 4921.

    Apparemment, je n'ai pas de Package.

    Naga

  8. #28
    Nouveau membre du Club
    Homme Profil pro
    Maintenance nucléaire
    Inscrit en
    Janvier 2007
    Messages
    107
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Maintenance nucléaire
    Secteur : Industrie

    Informations forums :
    Inscription : Janvier 2007
    Messages : 107
    Points : 36
    Points
    36
    Par défaut
    Dans le menu Projet, j'ai un outils Information.

    Voici les infos données par cet outils :

    Source compilée : 533 lignes (il s'agit encore qu'un embryon de projet)
    Taille du code : 1387704 octets
    Taille des données : 578708 octets
    Taille de la pile initiale : 16384 octets
    Taille du fichier : 8594859 octets (pour une taille réelle de 8595102 octets)
    Packages utilisés : Aucun

    Naga

  9. #29
    Membre chevronné Avatar de philnext
    Profil pro
    Inscrit en
    Octobre 2002
    Messages
    1 552
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2002
    Messages : 1 552
    Points : 1 780
    Points
    1 780
    Par défaut
    Pour le RTTI : http://delphi.about.com/od/oopindelphi/a/delphirtti.htm
    Bien penser à faire un 'construire' tout après les modif. des options et directives de compilation/linkage.

    Sinon pour 'Project Analyser' le mieux c'est de cliquer sur 'Summary' et de trier par 'Size' et de travailler sur les 10 premières qui sont les plus significatives.

  10. #30
    Nouveau membre du Club
    Homme Profil pro
    Maintenance nucléaire
    Inscrit en
    Janvier 2007
    Messages
    107
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Maintenance nucléaire
    Secteur : Industrie

    Informations forums :
    Inscription : Janvier 2007
    Messages : 107
    Points : 36
    Points
    36
    Par défaut
    Pour le Summary, voici les 10 objets les plus volumineux :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
    Controls             130 260 (CODE+ICODE+DATA)
    Classes               99 472 (CODE+ICODE+DATA)
    Forms                 85 988 (CODE+ICODE+DATA)
    jpeg                  83 628 (CODE+ICODE+DATA)
    Graphics              72 548 (CODE+ICODE+DATA)
    StdCtrls              60 740 (CODE+ICODE+DATA)
    Grids                 56 100 (CODE+ICODE+DATA)
    SysUtils              55 476 (CODE+ICODE+DATA)
    System                42 152 (CODE+ICODE+DATA)
    Variants              41 084 (CODE+ICODE+DATA)
    Il n'y a pas d'objets JCL ou JVCL, ils sont bien plus loin dans la liste.

    Naga

  11. #31
    Membre chevronné Avatar de philnext
    Profil pro
    Inscrit en
    Octobre 2002
    Messages
    1 552
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2002
    Messages : 1 552
    Points : 1 780
    Points
    1 780
    Par défaut
    Ben je ne vois pas comment tu arrives à 8Mo avec ça tu n'as pas des images (style *.Bmp) intégrées dans ton soft ?

    Sinon en bas de Project Analyser tu as un résumé avec notamment Code: Data: tu peux indiquer ce que tu as ?

  12. #32
    Nouveau membre du Club
    Homme Profil pro
    Maintenance nucléaire
    Inscrit en
    Janvier 2007
    Messages
    107
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Maintenance nucléaire
    Secteur : Industrie

    Informations forums :
    Inscription : Janvier 2007
    Messages : 107
    Points : 36
    Points
    36
    Par défaut
    Pas du tout, je n'ai même pas encore créé son icône (de 8 Mo ).

    J'ai pour :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    Units :      133
    Forms :      1
    Code :       1382564
    ICode :      4848
    Data :       23304
    Bss :        552984
    Ressources : 520704
    J'ai repris le projet sur la version XE, mais toujours avec l'option EXE taille XXL.

    Je suis persuadé qu'il s'agit de données de débogage (malgré le fait que je soit en mode release). Ce qui pourrait expliquer que ces données excédentaires n'apparaissent pas dans ce récapitulatif.
    Etant donné qu'il s'agit d'une édition Architecte, elle inclue peut-être un outil ou un module qui influence la compilation.

    Je suis perplexe.

    Naga

  13. #33
    Membre chevronné Avatar de chaplin
    Profil pro
    Inscrit en
    Août 2006
    Messages
    1 215
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2006
    Messages : 1 215
    Points : 1 819
    Points
    1 819
    Par défaut
    Tu as bien regardé que le l'exe en question se trouve dans le répertoire "win32\release"

  14. #34
    Membre chevronné Avatar de philnext
    Profil pro
    Inscrit en
    Octobre 2002
    Messages
    1 552
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2002
    Messages : 1 552
    Points : 1 780
    Points
    1 780
    Par défaut
    C'est très étrange en effet, sur ton exe peux tu l'ouvrir avec 7zip ?Llà tu devrais avoir la décomposition code/data/res... proche de ce que tu as avec Project Analyser.
    Si c'est très différent (style > 10%) ce n'est pas l'exe correspondant à ton projet.

  15. #35
    Nouveau membre du Club
    Homme Profil pro
    Maintenance nucléaire
    Inscrit en
    Janvier 2007
    Messages
    107
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Maintenance nucléaire
    Secteur : Industrie

    Informations forums :
    Inscription : Janvier 2007
    Messages : 107
    Points : 36
    Points
    36
    Par défaut
    Bien vu Chaplin, le EXE est dans Bebug, pourtant j'ai bien mis Release dans les options du projet.
    En fait, en rechargeant le projet, il s'est remis en mode débug.
    Mais en le mettant en Release, lorsque je le compile, le EXE est tojuors dans le dossier Debug.
    Il ne tient pas compte de la modif même en validant.

    Naga

  16. #36
    Nouveau membre du Club
    Homme Profil pro
    Maintenance nucléaire
    Inscrit en
    Janvier 2007
    Messages
    107
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Maintenance nucléaire
    Secteur : Industrie

    Informations forums :
    Inscription : Janvier 2007
    Messages : 107
    Points : 36
    Points
    36
    Par défaut
    Citation Envoyé par philnext Voir le message
    C'est très étrange en effet, sur ton exe peux tu l'ouvrir avec 7zip ?Llà tu devrais avoir la décomposition code/data/res... proche de ce que tu as avec Project Analyser.
    Si c'est très différent (style > 10%) ce n'est pas l'exe correspondant à ton projet.
    Il faut que j'installe 7zip (je n'ai que WinRAR pour mes archives et il n'ouvre pas le EXE).

    Je regarde.

    Naga

  17. #37
    Nouveau membre du Club
    Homme Profil pro
    Maintenance nucléaire
    Inscrit en
    Janvier 2007
    Messages
    107
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Maintenance nucléaire
    Secteur : Industrie

    Informations forums :
    Inscription : Janvier 2007
    Messages : 107
    Points : 36
    Points
    36
    Par défaut
    Pour info, j'ai un fichier .RSM d'une taille de 14003188 octets dans le projet.

    7zip est en cours d'installation.

    Naga

  18. #38
    Nouveau membre du Club
    Homme Profil pro
    Maintenance nucléaire
    Inscrit en
    Janvier 2007
    Messages
    107
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Maintenance nucléaire
    Secteur : Industrie

    Informations forums :
    Inscription : Janvier 2007
    Messages : 107
    Points : 36
    Points
    36
    Par défaut
    7zip n'ouvre pas le EXE, je ne suis pas surpris, il ne s'agit pas d'une archive.
    Je vois pas comment ce programme pourrait ouvrir un EXE (sauf si c'est un auto extractible).

    Delphi créé un auto extractible à la compilation ?

    Naga

  19. #39
    Membre chevronné Avatar de chaplin
    Profil pro
    Inscrit en
    Août 2006
    Messages
    1 215
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2006
    Messages : 1 215
    Points : 1 819
    Points
    1 819
    Par défaut
    Citation Envoyé par Naga2 Voir le message
    Bien vu Chaplin, le EXE est dans Bebug, pourtant j'ai bien mis Release dans les options du projet.
    En fait, en rechargeant le projet, il s'est remis en mode débug.
    Mais en le mettant en Release, lorsque je le compile, le EXE est tojuors dans le dossier Debug.
    Il ne tient pas compte de la modif même en validant.

    Naga
    Je te laisse le soin de lire mes messages, je t'ai donné la solution. Un forum d'entraide a pour vocation d'aider mais pas de faire le travail à la place des autres.

  20. #40
    Membre chevronné Avatar de philnext
    Profil pro
    Inscrit en
    Octobre 2002
    Messages
    1 552
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2002
    Messages : 1 552
    Points : 1 780
    Points
    1 780
    Par défaut
    Citation Envoyé par Naga2 Voir le message
    7zip n'ouvre pas le EXE, je ne suis pas surpris, il ne s'agit pas d'une archive.
    Je vois pas comment ce programme pourrait ouvrir un EXE (sauf si c'est un auto extractible).

    Delphi créé un auto extractible à la compilation ?

    Naga
    7zip ouvre tous les exe windows (au format PE) et 'extrait' les 'segments' si tu n'as pas compacté (par UPX par exemple) ton exe.
    Clique droit sur l'exe et 7Zip/ 'Ouvrir'.

+ Répondre à la discussion
Cette discussion est résolue.
Page 2 sur 3 PremièrePremière 123 DernièreDernière

Discussions similaires

  1. Résumé des Nouveautés Delphi XE2 tour Paris 8 Sept
    Par John Colibri dans le forum EDI
    Réponses: 2
    Dernier message: 11/09/2011, 10h58
  2. Prise en main delphi XE2
    Par SISKODS9 dans le forum EDI
    Réponses: 6
    Dernier message: 10/09/2011, 15h35
  3. Première présentation de Delphi XE2
    Par John Colibri dans le forum EDI
    Réponses: 53
    Dernier message: 04/09/2011, 11h28
  4. Version de Delphi dans l'EXE ?
    Par qi130 dans le forum Langage
    Réponses: 4
    Dernier message: 28/10/2005, 09h52

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