MSVC c++ 中 Release 模式与 Release + O2 模式之间的区别

问题描述 投票:0回答:1

在 Visual Studio 中,为了加速我的程序,我调整了两件事:

第一个是将Debug模式转为Release模式。

第二个是在项目属性中打开-O2(因此必须关闭基本运行时检查)。

通常,我一起使用它们,但我听说(?)发布模式包括 -O2 优化,所以我只是好奇这是否属实。

我尝试了之前项目中的许多程序,很明显,Release + O2 模式的执行速度比没有优化的原始程序快 3~10 倍。但我不清楚是否只需要Release模式就可以实现这么快的程序。

c++ visual-studio optimization compiler-optimization
1个回答
0
投票

Visual Studio 中的每个配置都为项目定义了一组参数。

当您创建新项目时,它默认有 2 个配置:DebugRelease(您可以根据需要添加更多)。

通常在调试中,项目是使用调试信息构建的,并且没有优化,而在发布中,项目是在没有调试信息的情况下构建的,并且进行了一些优化。

但这些都只是默认值,您可以更改它们以满足您的需求。

为了最大限度地提高性能,建议从发布配置开始。
我的 MSVC 2022 默认设置为 O2 优化。
如果您想获得最佳性能,您可以尝试更改各种优化设置并分析您的代码。

优化设置位于项目属性 -> C/C++ -> 优化:

© www.soinside.com 2019 - 2024. All rights reserved.