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…

Liens à etudier

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)

Vous pourriez laisser un commentaire si vous étiez connecté.