====== Taille des Exe dans LAZARUS / Free Pascal ====== [[https://lazarus.developpez.com/faq/?page=Generalites#Comment-diminuer-la-taille-de-l-executable]] Projet --> Options du compilateur : Dans l'onglet Code, cocher les cases Table des liens intelligente et Code le plus petit ; Dans l'onglet Édition des liens cocher uniquement Éliminer les symboles de l'exécutable (-Xs) et Lien intelligent (-XX). Décocher Générer les infos pour le débogueur ; Dans l'onglet Faire des commentaires, décocher Insérer un logo FPC (-l). Recompiler ensuite en allant dans Exécuter --> Construire tout. ===== Influence des Units dans la taille des Exe ===== Apparement les unités, __même non utilisée__, rajoute du poids aux exe Exemple: Programme compilé avec le profil ''Release'' de base = **43008 octets** program testor; begin Writeln('salut'); end. On rajoute sysutils = **109056 octets** (+66048 oct) program testor; uses sysutils; begin Writeln('salut'); end. ===== Rôle des directives de compilation ===== Option du projet->Option du compilateur->Verbosité : Tout décocher / Tout coché = Aucun changement sur la taille Conseils glanés sur [[http://wiki.freepascal.org/Lazarus_Faq/fr#Pourquoi_les_fichiers_binaires_produits_sont-ils_si_volumineux_.3F]] 1. Project|Compiler Options|Code|Smart Linkable (-CX) -> Coché 2. Project|Compiler Options|Linking|Debugging| Décocher tout sauf Strip Symbols From Executable (-Xs) 3. Project|Compiler Options|Linking|Link Style|Link Smart (-XX) -> Coché ===== Afficher les PPU utilisé ===== Dans le menu : Projet -> Afficher les fichiers PPU utilisés. On peut visualiser les unités utilisée, leur taille, qui les utilises etc...\\ {{:prog:lazarus:compilateur:ppu1.png|}} ===== Liens à etudier ===== [[https://www.developpez.net/forums/d160547/autres-langages/pascal/lazarus/diminuer-taille-executables/]] ===== Autres pistes ===== Voir la possibilité de supprimer certaine unités implicitement chargées par le compilateur.\\ Farfouiller dans les directives de compilation ou les Modes (Delphi, Pascal Object, TurboPascal)