MinGW EXE Groesse



  • Hi,

    kann es sein das MinGW32 ne deutlich größers EXE erzeugt als MSVC++? oder mach ich da irgendwas falsch...

    MSVC++ = 32 kb
    MinGW = 97 kb (!)

    kann mir jemand sagen ob das normal ist?

    cya
    ScriptGod



  • das ist ein konstanter overhead. diese 70KB (oder so ungefaehr) sind die C++ Library die du statisch gelinkt hast.

    es sind immer 70KB, auch wenn du eine riesige anwendung schreibt. insofern legt niemand grossen wert darauf ob das jetzt 70, 20 oder 120Kb sind.

    du kannst natuerlich die C++ library dynamisch linken (wenn MinGW das kann), und mit -Os optimieren und mit -s alle symbole aus der datei entfernen. nachher kannst du die datei mit upx noch komprimieren. dann sollte sie klein genug sein.



  • hmm, ok danke mal für deine antwort, dass erklärt das mal... nur leider bringt -Os und -s nichts - die größe ändert sich nicht.

    kann es sein, dass die exe größer wird weil ich eine windows library dazu link? kann ich sowas in MinGW auch im code verlinken so wie #pragma comment( lib, ... ) in VC++?



  • wenn dir die größe so zu schaffen macht, versuch mal mit upx zu packen, das bringt oft 50% ersparniss und ist einfacher als mit compileroptions zu spielen 🙂

    rapso->greets();



  • hmm, naja ich will die exe nicht umbedingt packen... mich hats blos gewundert, dass die größe so extrem unterscheidlich ist... aber es gibt wohl keine möglichkeit die standard library nicht statisch zu linken? dann werd ich wohl doch mal upx ausprobieren? woher kriegt man das?


Anmelden zum Antworten