我有同样的问题:dll size (debug and release),但我想进一步研究这个问题。
我的代码只有一个.h 2kb和一个.cpp 14k文件。生成的调试库为185kb,使用
/GS /analyze- /W3 /Zc:wchar_t /ZI /Gm /Od /sdl /Fd"Debug\vc110.pdb" /fp:precise /D "_CRT_SECURE_NO_WARNINGS" /D "_MBCS" /errorReport:prompt /WX- /Zc:forScope /RTC1 /Gd /Oy- /MTd /Fa"Debug\" /EHsc /nologo /Fo"Debug\" /Fp"Debug\lib_yyy.pch" 我的发布版本是2275kb
/GS /GL /analyze- /W3 /Gy /Zc:wchar_t /Zi /Gm- /O2 /sdl /Fd"Release\vc110.pdb" /fp:precise /D "_CRT_SECURE_NO_WARNINGS" /D "_MBCS" /errorReport:prompt /WX- /Zc:forScope /Gd /Oy- /Oi /MT /Fa"Release\" /EHsc /nologo /Fo"Release\" /Fp"Release\lib_yyy.pch" 因此,我试图优化大小而不是速度,并关闭内联扩展,期待类似于调试版本的东西(O1和Ob0而不是O2):
/GS /GL /analyze- /W3 /Gy /Zc:wchar_t /Zi /Gm- /O1 /Ob0 /sdl /Fd"Release\vc110.pdb" /fp:precise /D "_CRT_SECURE_NO_WARNINGS" /D "_MBCS" /errorReport:prompt /WX- /Zc:forScope /Gd /Oy- /Oi /MT /Fa"Release\" /EHsc /nologo /Fo"Release\" /Fp"Release\lib_yyy.pch" 结果大小:2275kb...等等..什么?
如果我在调试版本上做dumpbin标题,我会得到很多很多行,在发布版本上,所有的大小都在一个小的匿名段落中出现。
那么我该如何检查是什么占用了这么多空间呢?优化速度和大小得到相同的大小,而这个大小比根本不优化并携带额外的调试信息要大得多,这又有什么意义呢?
https://stackoverflow.com/questions/38415299
复制相似问题