none
VC2013的Release编译问题 RRS feed

  • 问题

  • 我的VC2013.3旗舰版  在编译Debug版的时候10秒就可以编译完成,可我在编译Release版的时候却需要10分钟左右的时间,并且在这10分钟期间

    CPU使用率平均在95%左右,请问是Bug问题吗

    2014年10月23日 3:02

答案

  • 你好,

    一般情况下release mode 下编译时间比debug mode 下编译时间长是正常的,但是如果长很多,可能与你的项目属性设置有关。

    在debug mode 下, /INCREMENTAL选项是默认开启的,所以代码生成的时候经过了一定的优化,时间会相对少点。在release mode 下, /INCREMENTAL选项是默认关闭的,你可以尝试开启这个选项,看看是否可以减少release 下的编译时间。

    还有一些设置与/INCREMENTAL是不兼容的,设置有冲突时,会导致VS进行全链接即 full link, 所以build 时间会变长。以下设置会导致full link, 所以你可以检查你的设置,是否你在release 时在进行full link,从而花费较长时间:

    • Link Incrementally is not selected (/INCREMENTAL:NO).
    • COFF Format (/DEBUGTYPE:COFF) is selected.
    • Both Formats (/DEBUGTYPE:BOTH) is selected.
    • /OPT:REF is selected.
    • /OPT:ICF is selected.
    • /ORDER is selected.
    • Use Program Database is not selected (/PDB:NONE) when Generate Debug Info (/DEBUG) is selected.

    另外,关于这个问题,你可以参考这个相同问题帖子,参考其中更多的建议:

    https://social.msdn.microsoft.com/Forums/en-US/204854aa-d165-47e8-8ec1-e1a32e027b19/visual-studio-2013-c-release-build-generating-code-taking-a-long-time?forum=vcgeneral

    May


    We are trying to better understand customer views on social support experience, so your participation in this interview project would be greatly appreciated if you have time. Thanks for helping make community forums a great place.
    Click HERE to participate the survey.

    2014年10月23日 9:01