当前位置:网站首页>debug和release的区别
debug和release的区别
2022-07-04 22:37:00 【编程小段】
我们在使用Visual Studio编译cpp代码时,会有debug和release两种模式,那么这两种模式有什么区别呢?
先说结论:
一般在开发过程中,我们往往写的代码会有bug,为了便于调试,会选择debug模式进行编译,目的是不让编译器进行编译优化或者优化的少一些;但在开发完需要发布版本的时候,为了使生成的机器代码更快的运行,往往会选择release模式,这样编译器就会尽可能的帮我们进行编译优化。
下面来解释为什么
例如,我们写了一段代码,计算从0加到999的值,如果不使用编译器优化,那么生成的汇编代码如右半部分所示。
int main()
{
int res;
for(int i=0; i<1000; i++)
{
res += i;
}
return res;
}
但是,如果使用了-O3
级别的编译器优化(数字越大,优化级别越高),那么生成的汇编代码就变成了如下所示。因为编译器分析发现这段代码就是返回499500这个值,所以会优化成这样的汇编代码,显然运行速度快很多。但是假如我们需要在for循环内进行debug调试时,编译器会找不到这样的代码,因为汇编代码就没有for循环,所以不会调试。但是没有进行优化的代码就可以在for循环内部进行调试。
边栏推荐
- 攻防世界 MISC 进阶区 hit-the-core
- 图片懒加载的原理
- 攻防世界 misc 进阶区 2017_Dating_in_Singapore
- Hit the core in the advanced area of misc in the attack and defense world
- Co create a collaborative ecosystem of software and hardware: the "Joint submission" of graphcore IPU and Baidu PaddlePaddle appeared in mlperf
- 【ODX Studio编辑PDX】-0.3-如何删除/修改Variant变体中继承的(Inherited)元素
- Attack and defense world misc advanced area ditf
- 【二叉树】节点与其祖先之间的最大差值
- VIM editor knowledge summary
- MP进阶操作: 时间操作, sql,querywapper,lambdaQueryWapper(条件构造器)快速筛选 枚举类
猜你喜欢
Redis入门完整教程:键管理
Install the gold warehouse database of NPC
Advanced area a of attack and defense world misc Masters_ good_ idea
EditPlus--用法--快捷键/配置/背景色/字体大小
Detailed explanation of heap sort code
Mongodb aggregation operation summary
Redis getting started complete tutorial: Key Management
[graph theory] topological sorting
攻防世界 MISC 进阶 glance-50
ETCD数据库源码分析——处理Entry记录简要流程
随机推荐
Co create a collaborative ecosystem of software and hardware: the "Joint submission" of graphcore IPU and Baidu PaddlePaddle appeared in mlperf
【ODX Studio编辑PDX】-0.3-如何删除/修改Variant变体中继承的(Inherited)元素
[graph theory] topological sorting
页面关闭前,如何发送一个可靠请求
Google Earth engine (GEE) -- take modis/006/mcd19a2 as an example to batch download the daily mean, maximum, minimum, standard deviation, statistical analysis of variance and CSV download of daily AOD
The small program vant tab component solves the problem of too much text and incomplete display
攻防世界 MISC 进阶区 3-11
为什么信息图会帮助你的SEO
剑指 Offer 67. 把字符串转换成整数
The overview and definition of clusters can be seen at a glance
Complete tutorial for getting started with redis: bitmaps
Taobao commodity review API interface (item_review get Taobao commodity review API interface), tmall commodity review API interface
On-off and on-off of quality system construction
How can enterprises cross the digital divide? In cloud native 2.0
Photoshop batch adds different numbers to different pictures
Analysis of the self increasing and self decreasing of C language function parameters
MP进阶操作: 时间操作, sql,querywapper,lambdaQueryWapper(条件构造器)快速筛选 枚举类
Erik baleog and Olaf, advanced area of misc in the attack and defense world
剑指Offer 68 - II. 二叉树的最近公共祖先
EditPlus--用法--快捷键/配置/背景色/字体大小