Größe der Executables bei Minimalprogrammen

Für alles, was in den übrigen Lazarusthemen keinen Platz, aber mit Lazarus zutun hat.

Größe der Executables bei Minimalprogrammen

Beitragvon Martin V » 13. Sep 2018, 21:35 Größe der Executables bei Minimalprogrammen

Ich habe hier ein Kommandozeilenutility vorgestellt:

http://www.lazarusforum.de/viewtopic.php?f=11&t=11789

Das Programm hat trotz einem nennenswerten Funktionsumfang aktuell praktisch keine selbst geschriebenen Units, nur eine überschaubare Hauptquelldatei mit 2700 Zeilen, ist also technisch gesehen relativ nahe an "hello world".

Es wundert mich, dass die Größe der Exeutables je nach Zielsystem auch nach strippen noch ziemlich schwankt:

OS/2: 161 kB (mit WDsibyl compiliert, nicht vergleichbar)
Win32: 238 kB
MacOS X: 428 kB
Linux 64 bit: 863 kB

Kann jemand erklären, warum das so stark schwankt? Kann man unter Linux noch extra strip Funktionen aktivieren?
Martin V
 
Beiträge: 122
Registriert: 30. Jan 2010, 19:35
OS, Lazarus, FPC: Winux (L 0.9.xy FPC 2.2.z) | 
CPU-Target: xxBit
Nach oben

Beitragvon Warf » 13. Sep 2018, 22:07 Re: Größe der Executables bei Minimalprogrammen

Nein ohne packing oder ähnliches wird es nicht deutlich kleiner. Das liegt daran das extrem viel direkt reingelinkt werden die bei C oder ähnlichem extern Gelinkt wird
Another issue here is that FreePascal generally statically links (because it is not ABI stable and would be unlikely to be on the target system already even if it was) its own RTL. GCC dynamically links against system libraries

http://wiki.freepascal.org/Size_Matters#Comparisons_with_GCC
Warf
 
Beiträge: 985
Registriert: 23. Sep 2014, 16:46
Wohnort: Aachen
OS, Lazarus, FPC: Mac OSX 10.11 | Win 10 | FPC 3.0.0 | L trunk | 
CPU-Target: x86_64, i368, ARM
Nach oben

• Themenende •

Zurück zu Sonstiges



Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 3 Gäste

porpoises-institution
accuracy-worried