Filesize der exe minimieren



  • Hi,

    ich habe eine Win32-Konsolenanwendung, die nur den C++Standard-Header inkludiert. Der Programmcode ist etwa ein halbes kLOC (500 Zeilen) groß. Trotz einiger vorgenommenen Einstellungen beim VC++ (Visual Studio 2003) ist die ausführbare Datei noch immer 108 KB (ehemals 320 KB) groß. Gibt es Möglichkeiten, die Datei noch weiter zu minimieren???

    Grober Abriss einiger (Projekt)Einstellungen:
    Aktive Konfiguration: Release
    Platform: Active(Win32)

    c/c++->optimization:
    optimzation: Minimize Code
    favor size or speed: Favor size

    Bin für Tipps dankbar.



  • Nur interessehalber nachgefragt, wo liegt dein Problem mit einer 108KB
    grossen Anwendung.



  • Generell nicht viel, aber mich interessiert, ob es Möglichkeiten gibt, den Code noch kleiner zu machen! Es gibt Leute die packen EgoShooter in 64kb Code!!! Warum muss mein Compiler aus etwas weit Anspruchsloseren ein vergleichsweise riesiges 108KB-"Monster" machen?



  • stell bei linker-einstellungen ein, daß du dynamische bibliotheken benutzt. dann haste 4k statt 100k.



  • Also dynamische Bibliotheken würde ich nicht benutzen, weil dann dein Programm unter Umständen auf einigen Systemen nicht mehr einsatzbereit ist.

    Obwohl die meisten Rechner genug Festplattenspeicherplatz aufweisen, bin ich auch ein verfechter davon, die Programme so klein wie möglich zu machen (Bitmaps durch jpg's ersetzen etc.)

    Schau dir mal das Programm UPX und dessen Quelltext an.

    http://upx.sourceforge.net/

    Dies ist ein exe-Packer, der zudem noch davor schützt, dass deine Programme nicht durch Ressourcen-Hacker verfälscht werden.

    Ebenso solltest du den Standard-Header um die Funktionen minimieren, die dein Programm im Endeffekt nicht mehr nutzt.



  • Also dynamische Bibliotheken würde ich nicht benutzen, weil dann dein Programm unter Umständen auf einigen Systemen nicht mehr einsatzbereit ist.

    Eben!!!

    Schau dir mal das Programm UPX und dessen Quelltext an.

    Schon ausprobiert. Recht ordentlich 👍

    Ebenso solltest du den Standard-Header um die Funktionen minimieren, die dein Programm im Endeffekt nicht mehr nutzt.

    Versuch ich meist 🙂

    Ist halt nur: Das ganze IDE-Sammelsurium beim Builden ist selbst schon ein Studium wert. Wie erwähnt: Rumprobiert habe ich auch schon und immerhin von 320 KB mittlerweile auf 52 (mit Hilfe von UPX) gebracht. Hätte halt sein können, dass hier jemand meint: Schalter X auf Y und dann noch einmal gen Mekka beten und -zack- ist eine HelloWorld-Appliation nur noch 768 Byte groß. 😃


Log in to reply