c++ größer als c?



  • Hi,

    also ich habe mal ne Frage.

    Ich hoffe ihr findet das jetzt nicht zu dumm. 🙄

    Also ich habe nen prog in C geschriben und dann das gleiche (also von der Funktion her) auch in C++.
    Das C++ is aber bedeutend größer als das prog in C, also von der Dateigröße der .exe her.

    (C = 16kb und C++ 642kb)

    wie kommt das?

    thx



  • Da musst du mal den Source von deinen Testprogrammen zeigen, aber es wird wohl
    an den inkludierten Headerdateien liegen.



  • Die Bibliotheken sind z.T. größer. iostream z.B. ist ein ziemlicher Brocken.
    Die Größe kannste aber runterdrehen, bei gcc geht's mit -Os als Compilerflag. Beim VC++ geht's vermutlich irgendwo über die Optionen. Wenn du diese Optimierung auf Größe anschaltest, werden die executables wesentlich kleiner.

    MfG

    GPC



  • Zunächst mal sollte sichergestellt sein dass beide Versionen mit äquivalenten Flags bezüglich Optimierung und Debug-Symbolen compiliert wurden ;)... Unter gcc -O.. und -f.. Optionen sowie -g (sollte _nicht_ gesetzt sein für diesen Vergleich)

    EDIT: Und mit strip kann man unbenutzte Symbole zu guter letzt wieder rauswerfen (wobei ein guter Linker unbenutzte Symbole garnicht erst dazubinden sollte)


Anmelden zum Antworten