Release-Modus statische Bibliothek viel größer als Debug-Modus-Version
Heute fand ich heraus, dass die kompilierte statische Bibliothek, an der ich arbeite, in @ viel größer isFreisetzun Modus als inDebugge. Ich fand es sehr überraschend, da die meiste Zeit genau das Gegenteil passiert (soweit ich das beurteilen kann).
Die Größe im Debug-Modus beträgt etwas mehr als 3 MB (es ist ein ziemlich großes Projekt), aber in der Version beträgt sie bis zu 6,5 MB. Kann mir jemand sagen, woran das liegen könnte? Ich verwende die üblichen Visual Studio (2008) -Einstellungen für ein statisches Bibliotheksprojekt und ändere fast nichts an den Build-Konfigurationseinstellungen. Im Release verwende ich / O2 und "Favor size or speed" ist auf "Neither" gesetzt. Könnte das / O2 ("Maximieren der Geschwindigkeit") dazu führen, dass die endgültige .lib-Datei so viel größer ist als die Debug-Version mit allen darin enthaltenen Debugging-Informationen?
BEARBEITEN Zusätzliche Information
Debuggen
- Optimierung des gesamten Programms: Nein
- Verknüpfung auf Funktionsebene aktivieren: Nein
Freisetzung
- Optimierung des gesamten Programms: Aktivieren der Link-Time-Code-Generierung
- Verknüpfung auf Funktionsebene aktivieren: Ja