Exe Größenunterschied zwischen VS2003 und 12
-
Allowed schrieb:
Mir wurde es so gesagt und ich habe es oft genug gelesen. Sonst würde die .exe Datei nicht so groß werden.
Dann wurde dir Mist erzählt und du hast Blödsinn gelesen...
-
dot schrieb:
Allowed schrieb:
Mir wurde es so gesagt und ich habe es oft genug gelesen. Sonst würde die .exe Datei nicht so groß werden.
Dann wurde dir Mist erzählt und du hast Blödsinn gelesen...
Dann würde ich trotzdem gerne wissen was dann der Grund ist, das die .exe größer wird, außer das die Libs erweitert wurden etc.
-
Allowed schrieb:
dot schrieb:
Allowed schrieb:
Mir wurde es so gesagt und ich habe es oft genug gelesen. Sonst würde die .exe Datei nicht so groß werden.
Dann wurde dir Mist erzählt und du hast Blödsinn gelesen...
Dann würde ich trotzdem gerne wissen was dann der Grund ist, das die .exe größer wird, außer das die Libs erweitert wurden etc.
Was hustbaer sagt
hustbaer schrieb:
Da liegen 3 VS Versionen dazwischen, und damit auch 3 MFC Versionen. In der Zeit hat es massiv viele Änderungen gegeben.
Und Änderungen im Code der MFC und der CRT können halt dazu führen dass ein deutlich grösserer Teil der Libraries zu einem Programm dazugelinkt werden muss.Schau dir vielleicht mal an, was genau der Linker eigentlich tut, insbesondere was COMDATs sind...
Und nur um sicherzugehen: Wir reden hier natürlich von einem Release Build!?
-
dot schrieb:
Allowed schrieb:
dot schrieb:
Allowed schrieb:
Mir wurde es so gesagt und ich habe es oft genug gelesen. Sonst würde die .exe Datei nicht so groß werden.
Dann wurde dir Mist erzählt und du hast Blödsinn gelesen...
Dann würde ich trotzdem gerne wissen was dann der Grund ist, das die .exe größer wird, außer das die Libs erweitert wurden etc.
Was hustbaer sagt
hustbaer schrieb:
Da liegen 3 VS Versionen dazwischen, und damit auch 3 MFC Versionen. In der Zeit hat es massiv viele Änderungen gegeben.
Und Änderungen im Code der MFC und der CRT können halt dazu führen dass ein deutlich grösserer Teil der Libraries zu einem Programm dazugelinkt werden muss.Schau dir vielleicht mal an, was genau der Linker eigentlich tut, insbesondere was COMDATs sind...
Und nur um sicherzugehen: Wir reden hier natürlich von einem Release Build!?
Natürlich reden wir vom Release Build.
Ich werde es mal überprüfen, obwohl ich die Linker Einstellungen schon genau überprüft habe.
-
MS hat primär im Bereich von "Securiy" wesentliche Erweiterungen vorgenommen, die automatisch bei jedem Programm dabei sind (z.B. /GS)
SIehe z.B: auch:
http://blogs.msdn.com/b/sdl/archive/2009/04/03/gs-buffer-overrun-enhancements-in-visual-c-2010.aspx
http://msdn.microsoft.com/en-us/library/8ef0s5kh
-
Jochen Kalmbach schrieb:
MS hat primär im Bereich von "Securiy" wesentliche Erweiterungen vorgenommen, die automatisch bei jedem Programm dabei sind (z.B. /GS)
SIehe z.B: auch:
http://blogs.msdn.com/b/sdl/archive/2009/04/03/gs-buffer-overrun-enhancements-in-visual-c-2010.aspx
http://msdn.microsoft.com/en-us/library/8ef0s5khDanke die einigen neuen Änderungen vom Bereich Security hab ich schon zu spüren bekommen in Form von strcpy_s etc. etc.
Aber das werde ich auch nochmal geanuer untersuchen.
-
Der wesentliche Grund ist, dass die Ribbons mit vielen neuen grafischen Funktionen in die MFC eingeflossen sind. Leider hat man das nicht gescheit gemacht und diese Module werden immer (auch wenn diese nicht benötigt werden) mit gelinkt. Auf die Granularität wurde nicht geachtet.
Es gibt einen Blog von einem anderen MVP der sich ausgiebig mit dem Problem befasst hat, der fält mir nur nicht gerade ein und Lust zum Suchen habe ich auch gerade nicht ;)....
-
Martin Richter schrieb:
Der wesentliche Grund ist, dass die Ribbons mit vielen neuen grafischen Funktionen in die MFC eingeflossen sind. Leider hat man das nicht gescheit gemacht und diese Module werden immer (auch wenn diese nicht benötigt werden) mit gelinkt. Auf die Granularität wurde nicht geachtet.
Es gibt einen Blog von einem anderen MVP der sich ausgiebig mit dem Problem befasst hat, der fält mir nur nicht gerade ein und Lust zum Suchen habe ich auch gerade nicht ;)....Genau das dachte ich mir ! Danke für den Hinweis !
Es musste ja irgendwas mit MFC zu tun haben <.<
Jetzt muss ich nur noch gucken wie ich den Part mit den neuen Ribbon Sachen entfernen kann vom Linker x.x
-
Hab es jetzt gemanaged bekommen mit dem Release Build (Hab noch eine andere Build Option) auf 9MB zu kommen, gibt es noch möglichkeiten es noch kleiner zu bekommen.
-
Wenn ein Debug Build Dein Problemn war, dann war Deine Frage falsch.
Wir sind alle davon ausgegangen, dass Du einen Debug Build hattest.Grundsätzlich keliener sind die XEs wenn Du nicht statisch linkst. Dann muss die Runtime halt vor hinstalliert sein. Das ist grundsätzlich mein Weg.
Da 90% meiner Programme (unmanaged) die MFC verwenden. Also liefere ich einmal nur die Runtime DLLs mit. Die EXEs sind fein klein.Ansonsten lies:
http://tedwvc.wordpress.com/