繁体   English   中英

在发布模式下,库大小更大,而在VS2010中,调试模式下更大

[英]size of library is bigger in release mode then debug mode in VS2010

目前,我正在使用Visual Studio 2010(使用C ++)编译DLMS库( http://www.gurux.fi/index.php?q=DLMSCOSEMFAQ )。

我已在调试和发布模式下成功编译了库。 但是,当我检查两个库的大小,然后发布一个库( .lib )时,其大小再加倍( 76 MB ),然后调试一个库( 31 MB )。

我认为发布版本之一的调试版本较小,对吗?

VS2010是否需要任何设置?

在此处找到构建版本日志http://pastie.org/9687316

有关调试日志,请参见http://pastie.org/9687340

将设置- 配置属性>常规>整个程序优化从“使用链接时间代码生成”更改为“没有整个程序优化”

更改之后,我的计算机上的库大小从76MB减少21MB

检查附件图像。 希望这可以帮助你。

整个程序优化项目设置

您应该比较构建设置,尤其是。 优化和库链接(静态/动态)。 如果不确定,请为链接程序和编译器复制命令行,我们可以在此处为您检查。

命令行可以在构建日志中找到,也可以在项目Properties / C/C++ / Command LineProperties / Linker / Command Line

对于编译器,要查找的最重要的设置是/O/M

对于链接器,我会看起来特别是。 对于/OPT

您的编译器开关为:

/c /Zi /nologo /W3 /WX- /O2 /Oi /Oy- /GL /D WIN32 /D NDEBUG /D _LIB /D _UNICODE /D UNICODE /Gm- /EHsc /MD /GS /Gy /fp:precise /Zc:wchar_t /Zc:forScope /Fo"Release\\\\" /Fd"Release\\vc100.pdb" /Gd /TP /analyze- /errorReport:prompt GuruxDLMS\\GXDateTime.cpp

导致您的库很大的是/GL 有关说明,请参见发布模式静态库,该库比调试模式版本大得多

我记得在同事抱怨之后检查了一下。 尝试使用编译器开关,直到大小相同,然后查看这些开关的文档

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM