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则是自己写的,但是含义完全一样,这里和语言的意译不同,是真的完全一样。
Visual Studio 编译优化选项:Debug与Release、禁止优化与O1、O2、Ox优化相关推荐
- 【Qt】Visual Studio编译Qt项目报Qt Version错误
00. 目录 文章目录 00. 目录 01. 问题描述 02. 开发环境 03. 问题分析 04. 问题解决 05. 附录 01. 问题描述 使用Visual Studio编译Qt项目时候,报以下错误 ...
- 使用 Visual Studio 编译 wget 为库文件
添加代码与预编译指令与上一篇使用 Visual Studio 编译 wget 为可执行文件一致,区别在于这回建的是静态库工程(编译为动态库过程类似:)) 从wget的main函数开始读下来,发现问题不 ...
- lua基础学习(1):使用Visual Studio编译lua和luac
lua基础学习(1):使用Visual Studio编译lua和luac 0. 背景 本篇博客作为lua基础学习的第一篇博客,主要介绍使用Visual Studio对lua5.0进行编译,目的是获得l ...
- visual studio编译错误集(转)
1.error C4430: missing type specifier - int assumed. Note: C++ does not support default-int 在项目属性-&g ...
- 如何解决Visual Studio编译错误,即“处理器体系结构之间的不匹配”?
本文翻译自:How do I fix the Visual Studio compile error, "mismatch between processor architecture&qu ...
- Qt 联合Visual Studio编译打包发布
1.qt 查找项目中使用到的qt动态链接库: 步骤如下 ①打开项目使用的windeployqt工具(qt自带的工具): ②进入到文件夹所在目录:使用 cd 命令 ③使用命令:windeployqt N ...
- visual studio编译linux,在 Visual Studio 中配置 Linux MSBuild C++ 项目
在 Visual Studio 中配置 Linux MSBuild C++ 项目Configure a Linux MSBuild C++ project in Visual Studio 10/16 ...
- Qt的qrc资源文件在Visual studio编译出的Qt程序中不能显示问题解决
这种情况一般是qrc资源文件没编译或资源文件如图片等不存在导致,在Visual studio项目上,单击鼠标右键,在弹出的右键中选择"添加--->新建筛选器",将新建的文件夹 ...
- 使用Visual Studio编译Qt项目出现“E1696 无法打开Qt源文件”的解决方案,亲测可行
最近别人给我发了一个他的Qt项目,在我电脑Visual Studio上死活运行不成功,报错部分如下图所示:E1696 无法打开源文件 xxx 折腾许久,终于发现了原因orz- 不过在这之前建议你先检查 ...
最新文章
- 赢在中国 - 史玉柱经典语录
- 神经网络-预测财产损失
- 为什么有些xpath绝对路径拿不到数据_我写的Xpath 为什么爬取不到内容
- cmake交叉编译android,CMake Android 交叉编译
- 【译】On Path Independence
- java icmp_java – 为什么没有ICMP指令?
- (二)SpringBoot功能
- memcache的使用入门C++代码
- Python中的from import和import的区别?没有比这回答的更好了
- mysql一条sql更新多条数据_执行一条sql语句update多条记录实现思路
- C#获得计算机名,当前登录用户名,Ip地址 .
- Android音视频从入门到提高---任务列表
- windows 安装Rabbit MQ
- MySQL的Grant命令[转]
- 什么叫小米粒吸尘机器人_mac上的Automator小机器人的有什么妙用?
- 791A.Bear and Big Brother
- 个人读研期间常用小工具分享
- 计算机硬盘和分区是什么关系,电脑硬盘如何分区 电脑硬盘分区注意事项【详解】...
- GC 的背景和一般原理--什么是GC,minor gc,major gc,full gc
- 怎么制作gif动图,gif动态图怎么制作
热门文章
- 以太网 数据包速率计算方法
- Linux中exit与_exit的区别
- Java 注解学习笔记
- AjaxToolKit学习笔记 之 ModalPopupExtender
- java 把string转为keyevent_盘点现在Java强大第三方库(字符串操作),程序员都该知道!...
- css设置字符长度,在css中设置最大字符长度
- java excel处理框架,Java三方—-excel框架之POI的使用一
- oracle group by 多类别_python数据关系型图表散点图系列多数据系列
- 2017计算机三级哪个好考,快速突破2017年计算机三级考试的几大复习阶段
- 计算机原理及应用课程,课程介绍