Visual Studio 编译优化选项:Debug与Release、禁止优化与O1、O2、Ox优化

3 篇文章 0 订阅
订阅专栏

Debug与禁止优化

Debug模式是调试模式,会有很多冗余的调试代码,供开发者调试程序使用。

在这里插入图片描述
VS是默认使用Debug模式的,我使用的是VS 2017。

在Debug模式下,是默认开启禁止优化的,我们来查看一下

  • 在左侧源文件的main.c处右键单击,选择属性
    在这里插入图片描述
  • 找到C/C++下的优化
    在这里插入图片描述
    可以看到,默认是禁用优化

Release与不同等级的优化

首先切换到Release模式
在这里插入图片描述
再查看一下优化
在这里插入图片描述
可以看到,默认优化方式是O2

打开下拉菜单
在这里插入图片描述
可以看见有三种优化方式,这个你是可以自己选择的。

Debug与Release的区别

  • Debug是调试模式,仅供开发者调试使用,不能作为产品发布
  • Release是发布模式,生成的可执行文件可以作为产品发布

Release中三种优化模式的区别

发布的产品,不同优化级别有所区别

  • O1:这个模式下,文件大小最小,速度比O2慢
  • O2:这个模式下,速度最快,文件大小比O1大
  • Ox:这个模式下,兼顾文件大小与速度,可能牺牲兼容性

备注:这只是大致的含义,不包含细节,具体细节请阅读专业文档。

使用反汇编对比这几种方式

VS 2017 查看反汇编

Debug与Release的区别

如果要将中文翻译成英文,有两种方式

  • 直译
  • 意译

将高级语言翻译成汇编语言,也有两种方式

  • 直译:Debug
  • 意译:Release

Debug是直接将你写的高级语言语法进行翻译,基本上是按照你的书写格式进行的,而Release则是自己写的,但是含义完全一样,这里和语言的意译不同,是真的完全一样。

visual studio编译opencv
07-04
visual studio编译opencv 一、 下载OpenCV源码 二、 用CMake配置OpenCV编译 三、 验证编写第一个Demo
VS平台 设置里面 优化选项有什么用
u014734032的博客
05-16 1434
VS平台 设置里面 优化选项有什么用
C语言编译优化等级应该选哪个?O0、O1O2还是O3
最新发布
manhuami2007的博客
04-27 1429
在使用IDE开发STM32程序时,IDE一般都会提供优化等级设置的选项,例如KEIL提供的O0、O1O2和O3,这些不同的优化等级有什么区别,应该如何选择?
C++代码之VS优化以及omp并行加速
保持分享欲
08-24 1586
vs代码优化以及omp加速
VS多处理器编译提高编译速度
牵LV小猪精的博客
07-06 848
开启多处理器编译能够提升编译速度,特别是当工程巨大时候,编译速度往往很慢,打开多处理器编译效果明显,下面给出设置和对比。
带你玩转Visual Studio——性能分析与优化
热门推荐
阳光日志
05-21 6万+
二八法则适合很多事物:最重要的只占其中一小部分,约20%,其余80%的尽管是多数,却是次要的。在程序代码中也是一样,决定应用性能的就那20%的代码(甚至更少)。因此优化实践中,我们将精力集中优化那20%最耗时的代码上,这那20%的代码就是程序的性能瓶颈,主要针对这部分代码进行优化。而性能瓶颈的找出需要借助各种性能分析工具(如VS性能分析工具)的帮助。
关于VS中因为优化O2)导致类中变量值变化的问题记录
bisheng250的博客
11-01 1688
遇到了一个问题,就是使用release的时候进行调试,因为使用了O2优化,出现了以下问题,在类定义的时候没毛病 但是运行了以后,发现函数值不对了的问题 解决方法就是不使用优化去看中间变量,或者使用优化但是不去管它
VS加快程序编译速度——以VS2013为例
IT1995的博客
12-12 6646
目录 前言 方法介绍: 附录     原文: https://blog.csdn.net/amusi1994/article/details/53679140    前言 由于当前项目包含了很大.cpp文件,以至于无法享受到DLL动态编译的快感,所以就在网上找了很多方法,将试用后的方法介绍给大家。亲测”多处理器加速“,可以将编译速度至少提升一倍以上,而且没有对源程序生成.ex...
visual studio不显示Debug,Release的原因及解决办法
11-10
vc++ ide 不显示Debug,Release的原因及解决办法
dlib19.17编译后msvc1921的c++ releasedebug版lib静态链接库
06-07
在这个压缩包中,"dlib19.17编译后msvc1921的releasedebug版lib静态库"指的是为不同编译配置准备的库文件。release版本通常用于优化性能,去除了调试信息,适合部署在生产环境中。而debug版本则保留了调试信息,...
VisualC++优化概述
02-04
适用于:MicrosoftVisualC++.NET2003MicrosoftVisualC++Toolkit2003MicrosoftVisualStudio.NET摘要:演示了...本页内容完整程序优化为IntelPentium4或AMDAthlon优化代码StreamingSIMDExtensions2如果有VisualStudio
VS如何在debug版本下查看内联函数的优化
cls的博客
04-27 1866
我们都知道在debug版本下,inline优化在调试过程中是看不到的,只有在release版本下,你定义的内联函数才会被优化,但是release版本是不能进行调试的。为了观察到inline的优化,我们可以通过更改debug版本的一些属性实现观察。 步骤1:右键单击你的项目 单击属性 步骤二:找到C/C++中的常规,将调试信息格式更改为程序数据库。 步骤三:将优化中的内联函数扩展更改为只适用yu_inline(/Ob1). 这样就可以在debug版本下中的调试观测到内...
C++ release下调用动态库崩溃
guomingbing12的专栏
08-21 810
表现: 1 debug版本的程序没问题 2 release版本的软件调用一个动态库崩溃 3 打开release调试开关,发现调用接口时,软件这边是有值的,进入动态库后发现变量值异常了 原因: 编译软件使用的头文件不是一致版本 换成最新的一致版本头文件,连接文件,动态库等,就可以了. ...
关于O2编译选项的一个过优化问题及其解决方法
Damon的博客
02-19 3538
O2优化会使得循环中的地址读取异常
gcc: -O2 优化选项的一个副作用:可以掩盖链接,符号未定义错误 undefined reference to
mzhan017的博客
10-27 277
所以看问题时,需要注意这一点,如果用-O2 编译链接工程,没有问题。并不一定代表去掉 -O2 就可以链接成功。同时如果A函数是个死函数的话,-O2,可能将这个函数A优化为如下的方式,直接返回。看似从未调用这个函数。这个-O2 优化选项,可以掩盖链接错误。因为这个包含130多项的优化选项。里面有关于四代码的优化。假如一个函数A里调用了另一个函数B,但是函数B是外部定义的符号,而且没有定义。
VS2015 优化选项的开启
xupeng1644的博客
10-21 5967
点击项目->属性-> C/C+±>优化。 默认为已禁用(/Od)。其他选项有: 使大小最小化(/O1) 使速度最大话(/O2) 完全优化(/Ox) 开启优化可能带来副作用: 本地变量(可被优化器移除或移动到调试器无法识别的位置)。 函数内部的位置(当优化器合并代码块时发生变化的位置)。 调用堆栈上框架的函数名称(如果优化器合并两个函数,则函数名称可能是错误的)。 但是,假定所...
visual studio中的releasedebug有什么区别
05-24
Visual Studio 中,ReleaseDebug 是两种不同的编译选项,它们的主要区别在于编译出来的程序的性能和调试能力。 在 Debug 模式下,编译器会生成用于调试程序的额外信息,例如符号表、调试代码等,这些信息会占用额外的空间和时间,但是可以提供更多的调试信息,方便程序员进行调试。此外,Debug 模式下还会开启各种编译优化的开关,以便程序员在开发过程中可以看到更多的变量值和调试信息。 在 Release 模式下,编译器会去掉用于调试的额外信息,同时开启各种编译优化的开关,以便生成更高效的代码,这样可以让程序运行更快。但是由于去掉了调试信息,程序员在出现问题时可能无法很好地进行调试,因此 Release 模式一般用于最终发布版本的编译。 总之,Debug 模式下生成的程序包含更多的调试信息,而 Release 模式下生成的程序则更加高效。根据需要选择适当的模式编译程序即可。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
写文章

热门文章

  • Visual Studio 编译优化选项:Debug与Release、禁止优化与O1、O2、Ox优化 27490
  • IDEA快速修改类名和文件名 25016
  • 【Java】字符串转换为数字:Integer的parseInt方法 21474
  • 【操作系统】进程调度(1):FIFO(先进先出)算法 原理与实践 20509
  • 【汇编语言】8086汇编字符串定义为何使用DB?其他数据类型不可以吗?(20200515复盘) 16994

分类专栏

  • 生活感悟 2篇
  • Linux 33篇
  • AI
  • 数字逻辑 5篇
  • C语言 7篇
  • 汇编语言 31篇
  • ComputerSystem 21篇
  • 计算机组成原理 5篇
  • Java 15篇
  • Algorithm 11篇
  • 其他 4篇
  • web 1篇
  • 每日成长记录 1篇
  • Tomcat 1篇
  • html 3篇
  • css 2篇
  • Interface 7篇
  • Circuit 2篇
  • Vivado 1篇
  • Operating System 7篇
  • 笔记 1篇
  • ComputerNetworking 1篇
  • Networking
  • 计算机思维 5篇
  • python 1篇
  • 虚拟机 1篇
  • 数据库 5篇
  • FPAG 3篇
  • 算法与数据结构 2篇
  • 蓝桥杯 1篇
  • MIPS 2篇
  • VS C++ 软件 3篇
  • 软件工程
  • 计算机网络 1篇
  • 综合联系计算机不同层次
  • 学习方法 2篇
  • C++ 9篇
  • C++学习之路 1篇
  • Verilog HDL 17篇
  • 数据结构

最新评论

  • Vivado软件(用VerilogHDL)如何使用$readmemh和$readmemb函数

    yinchangh: 是的,需要右斜杠才行,点赞了

  • 【操作系统】进程调度(2b):STCF(最短完成时间优先) 算法 原理与实践

    TXTSTSTXT: stcf这个是不是就是srtn算法啊

  • vivado软件如何查看内部器件的仿真信号

    2201_75534455: good,学到了表情包

  • 【C++学习之路】第一章——C++核心方法总论

    CSDN-Ada助手: 哇, 你的文章质量真不错,值得学习!不过这么高质量的文章, 还值得进一步提升, 以下的改进点你可以参考下: (1)提升标题与正文的相关性;(2)使用更多的站内链接。

  • 【操作系统】进程调度(1):FIFO(先进先出)算法 原理与实践

    PhysicsCoding: 不过根据后面的运算题来看,因该是进程处于Embryo状态的时候。

大家在看

  • 代码随想录训练第十天|LeetCode150.逆波兰表达式求值、LeetCode239.滑动窗口最大值、LeetCode347.前 K 个高频元素、栈与队列总结

最新文章

  • VirtualBox下Ubuntu系统磁盘扩容
  • Ubuntu物理真机提高访问速度
  • 基于IntelliJ IDEA和Ubuntu的Chisel开发环境搭建
2023年2篇
2022年6篇
2021年43篇
2020年138篇

目录

目录

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

XV_

感谢您的认可,我会继续努力!

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或 充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值

PHP网站源码荷坳网站改版福田百姓网标王宝安网站关键词优化布吉网站优化软件平湖网站优化软件塘坑英文网站建设石岩网络推广大芬seo网站优化宝安网页制作大运企业网站设计永湖百搜词包木棉湾网站seo优化福田网络广告推广吉祥SEO按天收费坑梓网站设计模板爱联SEO按天收费观澜建站南联seo优化坪山百度竞价惠州seo排名永湖外贸网站制作光明推广网站惠州百搜词包坪地seo网站推广塘坑网站建设设计大鹏网站优化按天扣费大鹏高端网站设计大运网站搜索优化坪地网站优化推广石岩网站优化排名歼20紧急升空逼退外机英媒称团队夜以继日筹划王妃复出草木蔓发 春山在望成都发生巨响 当地回应60岁老人炒菠菜未焯水致肾病恶化男子涉嫌走私被判11年却一天牢没坐劳斯莱斯右转逼停直行车网传落水者说“没让你救”系谣言广东通报13岁男孩性侵女童不予立案贵州小伙回应在美国卖三蹦子火了淀粉肠小王子日销售额涨超10倍有个姐真把千机伞做出来了近3万元金手镯仅含足金十克呼北高速交通事故已致14人死亡杨洋拄拐现身医院国产伟哥去年销售近13亿男子给前妻转账 现任妻子起诉要回新基金只募集到26元还是员工自购男孩疑遭霸凌 家长讨说法被踢出群充个话费竟沦为间接洗钱工具新的一天从800个哈欠开始单亲妈妈陷入热恋 14岁儿子报警#春分立蛋大挑战#中国投资客涌入日本东京买房两大学生合买彩票中奖一人不认账新加坡主帅:唯一目标击败中国队月嫂回应掌掴婴儿是在赶虫子19岁小伙救下5人后溺亡 多方发声清明节放假3天调休1天张家界的山上“长”满了韩国人?开封王婆为何火了主播靠辱骂母亲走红被批捕封号代拍被何赛飞拿着魔杖追着打阿根廷将发行1万与2万面值的纸币库克现身上海为江西彩礼“减负”的“试婚人”因自嘲式简历走红的教授更新简介殡仪馆花卉高于市场价3倍还重复用网友称在豆瓣酱里吃出老鼠头315晚会后胖东来又人满为患了网友建议重庆地铁不准乘客携带菜筐特朗普谈“凯特王妃P图照”罗斯否认插足凯特王妃婚姻青海通报栏杆断裂小学生跌落住进ICU恒大被罚41.75亿到底怎么缴湖南一县政协主席疑涉刑案被控制茶百道就改标签日期致歉王树国3次鞠躬告别西交大师生张立群任西安交通大学校长杨倩无缘巴黎奥运

PHP网站源码 XML地图 TXT地图 虚拟主机 SEO 网站制作 网站优化