Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

laz_tailleexe [01/11/2018 14:39] (Version actuelle)
Ligne 1: Ligne 1:
 +====== 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.
 +
 +===== Rôle 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**
 +<code pascal>
 +program testor;
 +
 +begin
 +  Writeln('​salut'​);​
 +end.   
 +</​code>​
 +On rajoute sysutils = **109056 octets** (+66048 oct)
 +<code pascal>
 +program testor;
 +uses sysutils;
 +begin
 +  Writeln('​salut'​);​
 +end.   
 +</​code>​
 +===== 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]]
 +<​code>​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é
 +</​code>​
 +
 +
 +=== Liens à etudier ===
 +[[https://​www.developpez.net/​forums/​d160547/​autres-langages/​pascal/​lazarus/​diminuer-taille-executables/​]]
 +
 +
  
  • Dernière modification: il y a 7 mois
  • (modification externe)