Wenn alles andere fehlschlägt, können Sie die Dokumentation lesen, beginnend mit man strip
.
Im Ernst, vielleicht hat Ihre Anwendung eine Menge Symbole und Code. Im Extremfall wäre die größte Größenreduktion rm elf
, aber dann wird Ihr Programm nicht mehr ausgeführt. Es hängt alles von Ihr Programm und was Sie in es codiert haben.
Als ein konkretes Beispiel habe ich vor kurzem mit einer großen C++ - Bibliothek gearbeitet, wo strip
ohne weitere Argumente die Größe von 400 + mb auf etwa 28 mb reduziert. Aber dann konnte man nicht mehr (im Kontext mit anderen gemeinsam genutzten Bibliotheken) dagegen verlinken, was es etwas nutzlos machte.
Aber wenn strip --strip-unneeded
verwendet wurde, änderte es die Größe von 400 + MB auf 55 MB, was immer noch beträchtlich ist, erlaubte jedoch den Zugriff auf die Bibliothek von anderen gemeinsam genutzten Bibliotheken.
Kurz gesagt, ich würde strip
vertrauen. Vielleicht kann Ihre Anwendung ohne Codeänderungen nicht weiter reduziert werden.
Wie haben Sie es gebaut, um damit zu beginnen? –
Ich stelle fest, dass diese Frage schon vor langer Zeit gestellt wurde. Ich gehe davon aus, dass Sie es als dynamisch verknüpfte Binärdatei erstellt haben. Sie können zufriedenstellendere Ergebnisse erzielen, wenn Sie eine statisch verknüpfte ELF-Datei erstellen und sie dann entfernen. –