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

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则是自己写的,但是含义完全一样,这里和语言的意译不同,是真的完全一样。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/384715.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【汇编语言】记录一组数中负数的个数,8086与MIPS汇编程序

题目及解答 统计由DATA开始的字节数据串中负元素的个数,数据个数在COUNT单元,统计结果存入RLT单元。 8086汇编: ; 统计数字中负数的个数【循环中加了个if else】 assume ds:datasg datasg segmentdata db 1,-2,-3,-1,-4,0,-2 count dw 7 ; 数…

【数字逻辑入门】计算机如何存储1位二进制数

0 前言 本文将会以R-S锁存器为例,引出锁存器的核心和本质,之后再带你构建更多类型的锁存器,你能够: 感受到由浅入深的学习方式体会到掌握核心本质的快感深刻理解核心套外壳的设计理念(产品迭代1.0–>2.0–>3.0…

【算法训练】DAY1:整数反转

1 前言 题目来源于Leetcode。 重点:理清逻辑,忽略细节,模仿高手,五毒神掌 2 题目分析 题目很容易理解,先分成两个部分 正数负数 先解决正数 最开始想到的是 intchar数组long唯一增加的就是,先判断整…

【汇编语言】(x86)test与跳转指令(je jle jge jg jl……)组合的含义

在x86指令集中,经常遇到test指令与条件跳转指令组合,这是什么含义呢? 博主表示,查了很多资料也没人完全说清楚…… 这里只用最简单的,抽象层次进行说明,不讲原理。 举例 test edx,edx jle 某地址含义是&…

【蓝桥杯】BASIC-8 回文数(2020-06-08)

题目 试题 基础练习 回文数 资源限制 时间限制:1.0s 内存限制:512.0MB 问题描述   1221是一个非常特殊的数,它从左边读和从右边读是一样的,编程求所有这样的四位十进制数。    输出格式   按从小到大的顺序输出满足条件的…

【算法训练】Leetcode 1295. 统计位数为偶数的数字(2020.06.09 )

1 题目 1295. 统计位数为偶数的数字 给你一个整数数组 nums,请你返回其中位数为 偶数 的数字的个数。 示例 1: 输入:nums [12,345,2,6,7896] 输出:2 解释: 12 是 2 位数字(位数为偶数) 345 …

Vivado设置指定源文件进行RTL优化

像VS编译器设置启动项一样,Vivado中,也有类似设计,可以看到,当前选中的是ALU,那么进行RTL优化的时候,会优化RTL的结果,而不是别的,如何改成别的? 在某文件上右键单击选择…

【完整流程】用VSCode替换Vivado默认编辑器

本文楼主找了很多资料,选出了最有用的资料,按照教程走,就可以顺利搞定,先给出画面 很酷很方便,同时还有 自动补全检测错误列选自动生成仿真测试文件 等重要功能 Vivado原来的编辑器是这样的…… 关键是&#xff0c…

IEDA中JavaDoc的自动生成、手动生成,以及生成html文档

1 自动生成类的注释 JavaDoc就是java特有的一种注释。 1.1 配置 首先&#xff0c;IDEA点击File-->Settings 然后Editor-->File and Code Templates-->Class 之后在这地方&#xff0c;添加一些代码 /** * ${description} * * <p> * 创建日期&#xff1a;$…

【java】父类与子类的引用赋值关系

理清楚4个目标 父类引用&#xff08;“名”&#xff09;父类对象&#xff08;“实”&#xff09;子类引用子类对象 理清楚几个操作 // 父类 public class parent{}// 子类 public class sun{}父类引用指向父类对象 parent p1 new parent();子类引用指向子类对象 son s1 …

IDEA自动生成 构造方法 get set方法

对于一个类&#xff0c;创建好成员变量后 右键单击&#xff0c;选中Generate 然后 这几个依次是 构造方法getsetget和set 我们可以选中一个&#xff0c;然后选中要生成的变量&#xff0c;点击OK 这样就可以自动生成 构成方法get方法set方法

IDEA快速修改类名和文件名

在你要修改的类名上&#xff0c;选中类名&#xff0c;然后 右键单击选中Refactor选中Rename 也可以使用快捷键 Win用户是Shift F6

java中 静态方法与成员方法何时使用

静态方法 不操作成员变量&#xff0c;可以直接调用 是用来直接对传入的数据进行操作的 成员方法 需要操作对象的成员变量的 区别 静态方法&#xff0c;不能操作成员变量&#xff0c;只是一个操作成员方法&#xff0c;可以操作成员变量&#xff0c;不仅仅是操作&#xff0…

通过编程解决问题的正确思路

1. 先知道我们面对一个怎样的问题 2. 考虑这个问题在现实生活中&#xff0c;我们要用怎样的方式去解决 3. 从现实到计算机&#xff0c;如何用编程的思路解决 4. 实现&#xff0c;编码和测试 5. 迭代 现实问题自然语言解决方案机器语言解决方案编码实现测试迭代

数据库设计的核心原则 外键的设计 提高插入数据速度

大道至简&#xff1a;数据库设计的核心原则 数据库设计&#xff0c;不得不承认&#xff0c;有很多专业化的理论知识&#xff0c;但是对于初学者来说&#xff0c;只需要大道至简的原则就可以了。 能不重复的就不重复&#xff0c;太重复的就拆开&#xff0c;使用指定数据做识别…

MySQL提高插入数据的效率(结合JDBC)

0 解决问题最佳途径&#xff1a;直接找官方 先说明的是&#xff0c;有问题直接去找官方文档&#xff0c;而不应该去百度搜索&#xff0c;您很容易体验到&#xff0c;搜索引擎很难快速找到真正对您有价值的解决方案&#xff0c;而官方文档是最快捷的途径。 本篇也是基于官方文…

【计算机心理学】先设计再实现 在实现中完善设计

先设计再实现 在物理学中&#xff0c;通常都是先理论证明观点&#xff0c;再进行实践&#xff0c;然后&#xff0c;再有世界各地的科学家根据理论进行实验&#xff0c;以证明观点正确。 在计算机软件开发&#xff0c;硬件开发等&#xff0c;都讲求先逻辑抽象设计&#xff0c;…

【FPGA VerilogHDL】第一次尝试:LED灯基础实验

0 实验环境 0.1 软件环境 ISE 14.7win10vivado 2017.4 0.2 硬件设备 ISE适用的FPGA开发板&#xff1a;ALINK AX309 1 需求 能够灵活控制4个LED灯 2 Verilog实现 timescale 1ns / 1ps // // Create Date: 14:18:20 08/08/2020 // Module Name: led // Revision…

使用ISE一键生成bit文件

我们知道&#xff0c;这几个&#xff0c;在第一次做好源文件之后&#xff0c;需要一个个进行右键单击-->run&#xff0c;以发现错误。 但是之后的调试&#xff0c;只要一点点变化&#xff0c;哪怕是注释变化&#xff0c;都需要重新run3次&#xff0c;太麻烦了。 不过经过实…

【FPGA Verilog】实验二:key按键基础实验

只说一下经验和教训 1 必须按照设计流程走 不要因为实验简单&#xff0c;就直接进行综合&#xff0c;比如按照 设计编码RTL优化仿真综合管脚分配&#xff0c;实现下载 一定要按照这个步骤来。 2 必须先查看开发板说明文档 开始出了一个令人困惑的问题&#xff0c;后来发现…