首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >静态库上调试和发布版本的可视C++大小

静态库上调试和发布版本的可视C++大小
EN

Stack Overflow用户
提问于 2016-07-17 04:24:02
回答 0查看 183关注 0票数 0

我有同样的问题:dll size (debug and release),但我想进一步研究这个问题。

我的代码只有一个.h 2kb和一个.cpp 14k文件。生成的调试库为185kb,使用

代码语言:javascript
复制
/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

代码语言:javascript
复制
/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):

代码语言:javascript
复制
/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标题,我会得到很多很多行,在发布版本上,所有的大小都在一个小的匿名段落中出现。

那么我该如何检查是什么占用了这么多空间呢?优化速度和大小得到相同的大小,而这个大小比根本不优化并携带额外的调试信息要大得多,这又有什么意义呢?

EN

回答

页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/38415299

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档