VS中Debug与Release、_WIN32与_WIN64的区别
一、Debug与Release
1. 区别
Debug——调试版,生成的.exe中包含很多调试信息,若直接发包,比较大;
Release——发布版
Debug编译有宏定义_DEBUG,若代码中定义了_DEBUG就表示是debug编译,否则是release
编译。
二、_WIN32与_WIN64
1. 定义
_WIN32是32位编译; _WIN64是64位编译。
之所以要分不同位数编译,最根本的目的就是提高软件的通用性,先了解几点常识:
- 如果电脑操作系统位数不同,那么代码中基本数据类型所占的字节也不同。
如:32位平台下long long是8个字节(64位),而64位平台下,long 是8个字节(64位)
- 64位操作系统理论上可以运行32位和64位软件,而32位操作系统只能运行32位的软件。
那么如何使软件在不同平台运行?方法就是宏定义:
Eg:# ifdef _WIN64
typedef long int int64_t;
# else
_extension_
typedef long long int int64_t;
2. 如何区分是32位编译还是64位编译
在 Win32 配置下,_WIN32 有定义,_WIN64 没有定义。在 x64 配置下,两者都有定义。
可以理解为32位不支持64位,而64位可以兼容32位。总之在 VC 下,_WIN32 一定有定义。
#ifdef _WIN64 // 说明是64位编译方式
typedef long long intptr_t;
#else
typedef _W64 int intptr_t;
#endif
VS中Debug与Release、_WIN32与_WIN64的区别的更多相关文章
- VS系列软件中debug和release编译环境有什么区别
当编译和执行一个工程时,可以在Debug和Release两种配置下执行. Debug模式用于调试程序,这是个受保护的运行环境,它将告诉你程序是否有泄露,在运行时也能对特定函数的结果进行检查.然而它生成 ...
- Visual Studio中Debug与Release以及x86、x64、Any CPU的区别 &&&& VS中Debug与Release、_WIN32与_WIN64的区别
本以为这些无关紧要的 Debug与Release以及x86.x64.Any CPU 差点搞死人了. 看了以下博文才后怕,难怪我切换了一下模式,程序就pass了.... 转载: 1.https://ww ...
- C++中debug和release的区别 . 转载
vc中debug和release的不同 收藏 在使用VC开发软件的过程中,正当要享受那种兴奋的时候突然发现:release与debug运行结果不一致,甚至出错,而release又不方便调试,真的是当 ...
- VS中的Debug 和 Release 编译方式的本质区别
VS中的Debug 和 Release 编译方式的本质区别 Debug 通常称为调试版本,它包含调试信息,并且不作任何优化,便于程序员调试程序.Release 称为发布版本,它往往是进行了各种优化,使 ...
- vs中debug和release的区别你知道吗
在Visual Studio中,生成应用程序的时候有2种模式:Debug和Release.两者之间如何取舍呢? 一.vs中debug和release的区别 1.Debug 通常称为调试版本,它包含调试 ...
- Visual Studio中Debug与Release以及x86、x64、Any CPU的区别
Visual Studio中Debug与Release的区别: 在Visual Studio中,编译模式有2种:Debug与Release.这也是默认的两种方式,在新建一个project的时候,就已经 ...
- Debug 和 Release 编译方式的本质区别
一.Debug 和 Release 编译方式的本质区别 Debug 通常称为调试版本,它包含调试信息,并且不作任何优化,便于程序员调试程序.Release 称为发布版本,它往往是进行了各种优化,使得程 ...
- vs中debug和release版本的区别(转)
vs中的程序有debug和release两个版本,Debug通常称为调试版本,通过一系列编译选项的配合,编译的结果通常包含调试信息,而且不做任何优化,以为开发 人员提供强大的应用程序调试能力.而Rel ...
- (原)Vs中debug和release结果不一致
转载请注明出处: http://www.cnblogs.com/darkknightzh/p/5598091.html 前两天调试程序,出现了一个很蛋疼的问题,debug和release结果不一致.网 ...
随机推荐
- linux 下导出oracle数据库
#变更用户su - oracle <<EOF#添加用户名/密码,目标文件地址和文件名 ,保存记录日志地址/文件名 full=y表示数据库全部导出,默认导出连接数据库的用户数据库对象 ex ...
- 实现CNN卷积神经网络
以上是模型,下面是代码: import tensorflow as tf import numpy as np import time from tensorflow.examples.tutoria ...
- day44 mysql高级部分内容
复习 1.多表查询 2.navicat 3.pymysql 1.视图 ***(是一个虚拟表,非真实存在的) 引子 select * from emp left join dep on emp.dep_ ...
- 2018-2019-2 《Java程序设计》结对项目阶段总结《四则运算——整数》(二)
20175218 2018-2019-2 <Java程序设计>结对项目阶段总结<四则运算--整数> 一.需求分析 实现一个命令行程序,要求: 自动生成小学四则运算题目(加,减, ...
- appium 移动端自动化测试一
最近公司决定使用appium为主体框架做一个移动端得自动化测试系统,我会陆续记录项目得进展. 1.首先是appium环境得搭建, 需要安装appium-server ,appium-desktop, ...
- 用python计算圆周率Π
一.要求: 1.计算到圆周率后面越多位越好. 2.用进度条显示计算的进度. 3.要求给出圆周率Π的具体计算方法和解释. 二.算法: 1.拉马努金公式: 2.高斯-勒让德公式: 设置初始值: 反复执行以 ...
- webpack and publish lib
http://keer2345.github.io/2018/04/13/webpack-4-tutorial-example-with-npm/ https://blog.csdn.net/feng ...
- 导出Excel工具类
import java.io.OutputStream; import java.lang.reflect.Method; import java.text.SimpleDateFormat; imp ...
- java8--List转为Map、分组、过滤、求和等操作----代码示例
Java 8 函数式编程风格 Java 迄今为止最令人激动的特征.这些新的语言特征允许采用函数式风格来进行编码,我们可以用这些特性完成许多有趣的功能.这些特性如此有趣以至于被认为是不合理的.他们说会影 ...
- 机器学习入门:Linear Regression与Normal Equation -2017年8月23日22:11:50
本文会讲到: (1)另一种线性回归方法:Normal Equation: (2)Gradient Descent与Normal Equation的优缺点: 前面我们通过Gradient Desce ...