PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Was heist "strippen" ;-))



Lin728
01.07.02, 17:51
Servus!

Ich hab mich vor einiger zeit bei einem Entwickler über die größe seiner Libs beschwert und er meinte, dass ich die Binaries "strippen" sollte.
Was bedeutet das genau, was hat das für Auswirkungen auf das Laufzeitverhalten, und was kann man sich dabei ungefähr an Platz ersparen (%)....
Mit welchen Compilier-Optionen kann man denn "strippen" ?
Kennt wer eine deutsche Fanseite zu gcc wo alles genau beschreiben (Optionen) wird und vieleicht auch ein wenig auf den gcj eingegangen wird?

Danke vielmals

geronet
01.07.02, 18:30
Also strippen ist mit dem Programm "strip" möglich, das haut die Symbole ("Häkchen") aus dem Code raus (mit denen kann der Debugger z.B Zeilennummern im Quelltext angeben, damit man Fehler leichter findet).
Wieviel Platz das spart weiss ich net..

Grüsse, Stefan

Boron
01.07.02, 18:31
Hallo, ceisserer,

"strip" ist ein Programm um Symbole aus Objektdateien zu "löschen". Der Hauptvorteil ist, dass die Masse der Objektdateien (also Bibliotheken) auf einem Rechner spürbar weniger Plattenplatz beansprucht (bei heutigen Platten > 40GB wäre das eigentlich egal, aber wir sind ja knausrig :)).

Ob dabei besseres (also schnelleres) Verhalten zur Laufzeit auch erreicht werden kann weiß ich nicht, und selbst wenn, sollte der Geschwindigkeitsgewinn im Bereich <= 5% liegen (auch hier könnte man sagen "jedes Prozentchen zählt" :)).

strip ist kurz und gut erklärt in seiner Manpage. Ein paar Optionen, aber die einfachste (und meist ausreichende) Möglichkeit ist "strip deineObjektdatei.o" bzw "deineBibliothek.so".

Wieder bin ich frech und verweise primär auf auf die Manpage von gcc.
Bei gcj dito.
Ansonsten http://www.gnu.org/software/gcc/gcc.html . Unter Docs -> Manual gibt es die komplette Doku zu gcc in den aktuellen Versionen.

Gruß Boron