[gelöst] intelligentes Linken

Für alles, was in den übrigen Lazarusthemen keinen Platz, aber mit Lazarus zutun hat.
Antworten
Heinrich Wolf
Beiträge: 323
Registriert: Di 12. Apr 2011, 13:21
OS, Lazarus, FPC: WinXP + VMWare Player mit Fedora14, L 1.1, FPC 2.7.1
CPU-Target: 1core 1,8GHz 32Bit
Wohnort: Fürth
Kontaktdaten:

[gelöst] intelligentes Linken

Beitrag von Heinrich Wolf »

Hallo,

ich hab grad nochmal verglichen: Delphi 5 linkt intelligent. Wenn ich eine Unit mit meinen gesammelten Hilfsfunktionen linke, sind nur die Funktionen in der *.exe, die auch irgendwo aufgerufen werden. Das hält die *.exe klein. Lazarus für Linux linkt alles, was in der Unit steht, auch wenn es nicht benötigt wird. Lazarus für Windows scheint auch intelligent zu linken. Kann man etwas einstellen, damit Lazarus für Linux intelligent linkt?

Heiner
Zuletzt geändert von Heinrich Wolf am Sa 29. Sep 2012, 18:15, insgesamt 1-mal geändert.

Euklid
Lazarusforum e. V.
Beiträge: 2808
Registriert: Fr 22. Sep 2006, 10:38
OS, Lazarus, FPC: Lazarus v2.0.10, FPC 3.2.0
Wohnort: Hessen
Kontaktdaten:

Re: intelligentes Linken

Beitrag von Euklid »

Hi, ja das geht: In den Projekteinstellungen unter Compilereinstwllungen--> Linken.
Dort "Debuggersymbole ... entfernen" markieren und "Zeilennummern...anzeigen" deaktivieren. , dann "Smart Linken" aktivieren und diese Option evenfalls im Reiter ""Codegenerierung" aktivieren.
Die Grösse der Dateien schrumpft darauf hin auf einen Bruchteil.
Wenn Du Dein Programm debuggen möchtest, solltest Du die Einstellungen dann aber wieder rückgängig machen.

Viele Grüsse, Euklid

Heinrich Wolf
Beiträge: 323
Registriert: Di 12. Apr 2011, 13:21
OS, Lazarus, FPC: WinXP + VMWare Player mit Fedora14, L 1.1, FPC 2.7.1
CPU-Target: 1core 1,8GHz 32Bit
Wohnort: Fürth
Kontaktdaten:

Re: intelligentes Linken

Beitrag von Heinrich Wolf »

Hallo Euklid,

Debuggersymbole und Zeilennummern hatte ich schon entfernt. Die Binaries wurden dadurch beträchtlich kleiner. Auf Dein Posting hin hab ich auch noch smart Linken aktiviert. Ich hab alle *.ppu und *.o gelöscht und neu compiliert. Die Binaries wurden nochmal geringfügig kleiner. Aber das Linken ist noch immer nicht so intelligent, wie ich mir wünsche. Ich hab die Binaries nach einem String gegrept, der lokal als Konstante in einer Funktion deklariert ist, die nirgends aufgerufen wird. Dieser String wird immer noch gefunden.

Heiner

Euklid
Lazarusforum e. V.
Beiträge: 2808
Registriert: Fr 22. Sep 2006, 10:38
OS, Lazarus, FPC: Lazarus v2.0.10, FPC 3.2.0
Wohnort: Hessen
Kontaktdaten:

Re: intelligentes Linken

Beitrag von Euklid »

Hi Heiner,

intelligenter linken geht meines Wissens noch nicht.

- Euklid

Socke
Lazarusforum e. V.
Beiträge: 3178
Registriert: Di 22. Jul 2008, 19:27
OS, Lazarus, FPC: Lazarus: SVN; FPC: svn; Win 10/Linux/Raspbian/openSUSE
CPU-Target: 32bit x86 armhf
Wohnort: Köln
Kontaktdaten:

Re: intelligentes Linken

Beitrag von Socke »

Heinrich Wolf hat geschrieben:Aber das Linken ist noch immer nicht so intelligent, wie ich mir wünsche. Ich hab die Binaries nach einem String gegrept, der lokal als Konstante in einer Funktion deklariert ist, die nirgends aufgerufen wird. Dieser String wird immer noch gefunden.
Dann wäre ein funktionsfähiges Minimalbeispiel sinnvoll; das könntest du dann auch direkt den Entwicklern im Bugtracker zu Verfügung stellen, da hier durchaus eine Optimierungsmöglichkeit gegeben sein könnte.

Vorher solltest du auf jeden Fall überprüfen, ob alle Voraussetzungen für Smartlinking gegeben sind.

Diese Wiki-Seiten kennst du natürlich schon ...
MfG Socke
Ein Gedicht braucht keinen Reim//Ich pack’ hier trotzdem einen rein

Heinrich Wolf
Beiträge: 323
Registriert: Di 12. Apr 2011, 13:21
OS, Lazarus, FPC: WinXP + VMWare Player mit Fedora14, L 1.1, FPC 2.7.1
CPU-Target: 1core 1,8GHz 32Bit
Wohnort: Fürth
Kontaktdaten:

Re: intelligentes Linken

Beitrag von Heinrich Wolf »

In einem mini-mini-Projekt konnte ich den Fehler nicht reproduzieren, aber ein kleineres meiner normalen Projekte, das den Fehler zeigt, hab ich hochgeladen zu http://bugs.freepascal.org/view.php?id=22888

Heiner

Heinrich Wolf
Beiträge: 323
Registriert: Di 12. Apr 2011, 13:21
OS, Lazarus, FPC: WinXP + VMWare Player mit Fedora14, L 1.1, FPC 2.7.1
CPU-Target: 1core 1,8GHz 32Bit
Wohnort: Fürth
Kontaktdaten:

Re: [gelöst] intelligentes Linken

Beitrag von Heinrich Wolf »

Ich hab nach einigen Schwierigkeiten jetzt fpc Version 2.7.1 von svn in Revision 22502 von heute. Damit ist smart linken so wie in http://bugs.freepascal.org/view.php?id=22888 versprochen besser geworden.

Antworten