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

API, COM et SDKs Delphi Discussion :

[Compilation DLL] Taille variable selon version de Delphi ?


Sujet :

API, COM et SDKs Delphi

  1. #1
    Membre habitué
    Développeur .NET
    Inscrit en
    Juin 2002
    Messages
    274
    Détails du profil
    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Juin 2002
    Messages : 274
    Points : 174
    Points
    174
    Par défaut [Compilation DLL] Taille variable selon version de Delphi ?
    Salut,
    Si je compile une simple librairie j'obtiens un fichier de 392 Ko avec D7 et 434 Ko avec D2007.
    D'où vient cette différence ? C'est juste pour ma culture...
    Thanx

  2. #2
    Expert confirmé

    Profil pro
    Leader Technique
    Inscrit en
    Juin 2005
    Messages
    1 756
    Détails du profil
    Informations personnelles :
    Âge : 46
    Localisation : France, Rhône (Rhône Alpes)

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

    Informations forums :
    Inscription : Juin 2005
    Messages : 1 756
    Points : 4 170
    Points
    4 170
    Par défaut
    Le moindre petit bout de code en Delphi fait appel à des librairies et au runtime du langage.
    Ce dernier évolue et s'enrichit de versions en versions. Et ben que l'optimisateur est censé supprimer le code qui n'est jamais appeler au moment de l'édition des liens, la taille du code générer augment malgré tout...

    J'ai fait le même teste il n'y a pas très longtemps entre D2006 et D2010, et c'est encore le même constat !

  3. #3
    Inactif  
    Avatar de Mac LAK
    Profil pro
    Inscrit en
    Octobre 2004
    Messages
    3 893
    Détails du profil
    Informations personnelles :
    Âge : 49
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Octobre 2004
    Messages : 3 893
    Points : 4 846
    Points
    4 846
    Par défaut
    Même en admettant que le linker soit "parfait" et enlève bien réellement tout ce qui est inutile, il faut voir que les composants évoluent et supportent d'autres OS, désormais.

    Chiffres au hasard : tu utilises une fonction qui, auparavant, "pesait" 1300 octets de code, mais qui ne savait pas gérer les spécificités de Windows au delà de XP.
    Avec le nouveau Delphi, tu gères les spécificités Vista (peu importe lesquelles), il y a donc quelques tests "if" en plus. La fonction "pèse" désormais 1500 octets, et comme tu en as besoin, elle est linkée.
    Mais la partie Vista va appeler une nouvelle fonction, dont tu n'as JAMAIS besoin sous XP, mais cruciale pour (par exemple) les UAC. Cette fonction va impérativement devoir être rajoutée à l'exécutable, et disons qu'elle pèse 2500 octets... OK, sous XP, c'est du code mort, mais il ne l'est pas sous Vista : on ne peut donc pas l'enlever !

    Tu as donc "pris" gratuitement 2700 octets "pour rien", du moins c'est l'impression première. Mais en échange, tu as gagné le fait d'avoir un programme qui sera correctement intégré et utilisable sur les nouveaux Windows.

    Fais ça pour toutes les nouveautés / améliorations de support entre les deux versions de Delphi de ton test, et tu as l'explication de cette "prise de poids" de ton application.
    Mac LAK.
    ___________________________________________________
    Ne prenez pas la vie trop au sérieux, de toutes façons, vous n'en sortirez pas vivant.

    Sources et composants Delphi sur mon site, L'antre du Lak.
    Pas de question technique par MP : posez-la dans un nouveau sujet, sur le forum adéquat.

    Rejoignez-nous sur : Serveur de fichiers [NAS] Le Tableau de bord projets Le groupe de travail ICMO

  4. #4
    Membre habitué
    Développeur .NET
    Inscrit en
    Juin 2002
    Messages
    274
    Détails du profil
    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Juin 2002
    Messages : 274
    Points : 174
    Points
    174
    Par défaut
    Merci messieurs !
    Bon week end.

  5. #5
    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 445
    Points
    28 445
    Par défaut
    il faut savoir aussi qu'un certain nombre d'unités sont lourdes "pour pas grand chose"...je ne sais pas où en est la dernière version de Registry.pas, mais à une époque RegEdit.pas était 20Ko moins lourde ... avec certes moins de fonctionnalité, mais les fonctionnalité dont j'avais besoin.
    Developpez.com: Mes articles, forum FlashPascal
    Entreprise: Execute SARL
    Le Store Excute Store

  6. #6
    Expert confirmé

    Profil pro
    Leader Technique
    Inscrit en
    Juin 2005
    Messages
    1 756
    Détails du profil
    Informations personnelles :
    Âge : 46
    Localisation : France, Rhône (Rhône Alpes)

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

    Informations forums :
    Inscription : Juin 2005
    Messages : 1 756
    Points : 4 170
    Points
    4 170
    Par défaut
    Ca c'est l'éternel problème avec les produits commerciaux ou tout au moins les produits destinés "au plus grand nombre".

    Il faut que ça fasse ce que tu veux. Mais également tout ce que tu ne veux pas et dont tu n'as pas besoin, car quelqu'un d'autre en a peut-être besoin !

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [XL-2010] Compatibilité selon version Office dll perso avec VBA
    Par philoul dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 21/04/2015, 10h05
  2. Taille d'image variable selon police
    Par scrouet dans le forum Mise en page CSS
    Réponses: 0
    Dernier message: 16/06/2010, 15h42
  3. Réponses: 12
    Dernier message: 15/04/2008, 12h47
  4. Compilation suivant les versions de Delphi ?
    Par pascal07 dans le forum Langage
    Réponses: 3
    Dernier message: 05/12/2007, 21h30
  5. redistribution: fichiers DLL, OCX, .. selon version de windows?
    Par Chekov dans le forum VB 6 et antérieur
    Réponses: 4
    Dernier message: 25/11/2007, 11h34

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