簡體   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