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 :

Taille des exécutables augmente avec Delphi 10 ?


Sujet :

Delphi

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé Avatar de declencher
    Inscrit en
    Mai 2003
    Messages
    441
    Détails du profil
    Informations forums :
    Inscription : Mai 2003
    Messages : 441
    Par défaut Taille des exécutables augmente avec Delphi 10 ?
    Salut la communauté,

    J'ai voulu migrer une petite dll écrite avec Delphi 7 en la compilant avec Delphi 10. Hormis un changement de format de String, tout se passe bien. La dll fait moins de 150 lignes...

    Je suis surpris par la taille de la dll, et je n'ai trouvé aucun moyen d'y remédier :
    - Avec Delphi 7 : 97 ko
    - Avec Delphi 10.3.3 : 1 100 ko

    Lorsque j'ai recompilé une autre dll écrite en C++ avec Visual Studio, il s'est passé la même chose (le code avait 7 ans...). Mais l'explication était simple : je compilais en mode debug. Une fois passé en "release", tout est rentré dans l'ordre.

    J'ai cherché dans Delphi 10, je suis passé en "release" (peut être mal ?), mais rien n'y fait, ma dll a grossi...

    Je sais qu'à l'air de la fibre et du cloud, tout le monde se moque de la taille d'un fichier. Mais j'aimerai comprendre

    Avez vous des idées sur le sujet ?

  2. #2
    Membre Expert
    Avatar de Charly910
    Homme Profil pro
    Ingénieur TP
    Inscrit en
    Décembre 2006
    Messages
    2 506
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur TP
    Secteur : Bâtiment Travaux Publics

    Informations forums :
    Inscription : Décembre 2006
    Messages : 2 506
    Par défaut
    Bonsoir,

    tu n'y peux rien, c'est dans l'air du temps. Les exe n'ont cessés d'augmenter de taille depuis D7 (et même D3 !)

    je pense qu'il doit y avoir un tas de trucs inutiles "à l'intérieur". Mais les experts disent que c'est normal. Pourquoi ? mystère.

    Avec FMX, c'est encore pire (mais là cela semble un peu plus normal, vu le multiplateforme)

    A+
    Charly

  3. #3
    Membre Expert
    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 : 55
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : N/A

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

    La responsabilité de l'augmentation de la taille des EXE revient en grande partie aux RTTI, qui sont bien pratiques mais ajoute énormément de choses qui font grossir l'application.
    On peut retirer l'utilisation des RTTI en précisant dans chaque unité du projet :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    {$WEAKLINKRTTI ON}
    {$RTTI EXPLICIT METHODS([]) PROPERTIES([]) FIELDS([])}
    Mais on aura plus accès aux RTTI dans ce cas là. Attention que certaines fonctionnalités de Delphi utilisent les RTTI, comme par exemple les LiveBindings. Donc si on les utilise on doit garder les RTTI.

  4. #4
    Rédacteur/Modérateur

    Avatar de SergioMaster
    Homme Profil pro
    Développeur informatique retraité
    Inscrit en
    Janvier 2007
    Messages
    15 592
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 69
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur informatique retraité
    Secteur : Industrie

    Informations forums :
    Inscription : Janvier 2007
    Messages : 15 592
    Billets dans le blog
    65
    Par défaut
    Matinal ou couche tard Thierry m'a devancé.
    J'exhume quand même le billet de son compagnon des DevDuJeudi qui eux aussi semblent ressortir des limbes

  5. #5
    Membre éclairé Avatar de declencher
    Inscrit en
    Mai 2003
    Messages
    441
    Détails du profil
    Informations forums :
    Inscription : Mai 2003
    Messages : 441
    Par défaut
    Merci les gars ! Je vais me renseigner sur les RTTI (je ne sais pas ce que c'est )

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

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

    Informations forums :
    Inscription : Novembre 2002
    Messages : 8 964
    Par défaut
    Citation Envoyé par declencher Voir le message
    Merci les gars ! Je vais me renseigner sur les RTTI (je ne sais pas ce que c'est )
    Run Time Type Information : informations de type à l’exécution.

    quand je place un bouton sur une fiche, il s'appelle Button1 et possède une méthode OnButton1Click...dans la fichier DFM on a son nom et le nom de la méthode sous forme de texte...mais une fois le code compilé, les noms de variables n'existe normalement plus...alors comment Delphi retrouve-t-il la variable Button1: TButton et la méthode OnButton1Click ? justement avec les RTTI, ce sont des meta informations sur les types qui permettent de connaitre le nom des variables.

    c'est utilisé également pour transformer un objet ou un record en JSON par exemple, le nom des champs du record servant de nom de champ JSON sans qu'il soit nécessaire de les donner explicitement, les RTTI contiennent déjà cette information
    Developpez.com: Mes articles, forum FlashPascal
    Entreprise: Execute SARL
    Le Store Excute Store

Discussions similaires

  1. Réduire la taille des exécutables sous Delphi 10.2.3
    Par Amigafred91 dans le forum Débuter
    Réponses: 4
    Dernier message: 12/04/2018, 12h06
  2. [Free Pascal] Comparaison de la taille des exécutables avec le langage C
    Par joreveur dans le forum Free Pascal
    Réponses: 8
    Dernier message: 27/01/2014, 21h41
  3. [Lazarus] Diminuer la taille des exécutables
    Par Clandestino dans le forum Lazarus
    Réponses: 7
    Dernier message: 16/07/2009, 15h29
  4. Réponses: 9
    Dernier message: 20/03/2006, 17h40
  5. Pur débutant en C/C++ : Taille des exécutables ?
    Par ChrisPM dans le forum Autres éditeurs
    Réponses: 3
    Dernier message: 20/10/2005, 18h39

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