我有同样的问题: dll size (debug and release) 但我想进一步调查。调试和发布版本的静态库的Visual C++大小
我的代码只是一个.h 2kb和一个.cpp 14k文件。所生成的调试lib中的185 kb的与取得
/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"
我发布的版本是2275 KB
/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"
所产生的大小:2275 KB ...等..什么???
如果我在调试版上做了dumpbin头文件,在版本版本中我会得到很多很多行,所有大小都会在一个小的匿名段落中出现。
那么我该如何检查所有这些空间?如何优化速度和尺寸给出相同的尺寸,并且尺寸远远大于未被优化,以及携带额外的调试信息?
谢谢你的解释。是的,我看到,当我在exe中使用我的大型lib文件时,exe实际上比lib更小 – AbsolutelyFreeWeb