在vs编程中,常常涉及到32位和64位程序的编译,怎么判断当前编译是32位编译还是64位编译?如何判断

是debug下编译还是release下编译?因为之前用到,这里记录一下,省的忘了又要疯狂的google。

1.判断是debug编译还是release编译。
如果_DEBUG定义了表示是debug编译,否则是release编译。
2.判断是32位编译还是64位编译。
在 Win32 配置下,_WIN32 有定义,_WIN64 没有定义。在 x64 配置下,两者都有定义。即在 VC 下,_WIN32 一定有定义
因此,WIN32/_WIN32 可以用来判断是否 Windows 系统(对于跨平台程序),而 _WIN64 用来判断编译环境是 x86 还是 x64。附一个表:
常量\定义 预定义选项 Windows.h VC编译器
WIN32 Win32 √(minwindef.h)  ×
_WIN32 × ×
_WIN64 × × x64
最后附上根据相应编译情况,进行有条件的链接相应静态库的示例代码,其实就是一些宏定义语句的使用:
[cpp] view plaincopy
  1. #include "json/json.h"
  2. #ifdef _DEBUG
  3. #ifndef _WIN64
  4. #pragma comment(lib,"json/json_mtd.lib")
  5. #else
  6. #pragma comment(lib,"json/json_mtd_x64.lib")
  7. #endif
  8. #else
  9. #ifndef _WIN64
  10. #pragma comment(lib,"json/json_mt.lib")
  11. #else
  12. #pragma comment(lib,"json/json_mt_x64.lib")
  13. #endif
  14. #endif
  15. using namespace Json;

关于VS中区分debug与release,32位与64位编译的宏定义相关推荐

  1. linux内核学习之三:linux中的32位与64位

    linux内核学习之三:linux中的"32位"与"64位" 在通用PC领域,不论是windows还是linux界,我们都会经常听到"32位" ...

  2. 计算机科普小知识——Win7系统32位与64位的区别,该如何选择?

    Win7系统32位与64位的区别 首先我们要知道32位和64位指的是什么.其实这是根据CPU内的寄存器字长来确定的,计算机内部数据都是二进制来呈现的,32位的计算机CPU一次最多能处理32位的二进制数 ...

  3. C语言入门经典——基础知识(数据类型)(32位与64位系统基本数据类型的字节数)

    一.读取数据的格式说明符                                                  除此之外:     sizeof(char) =   1          ...

  4. 32位与64位系统基本数据类型的字节数

    32位与64位系统数据类型 不同的平台上对不同的数据类型分配的字节数是不同的,一般的,数据类型的字节数是由编辑器决定的(编译期间决定数据类型长度). 简单来说,平台就是CPU+OS+Compiler, ...

  5. 图解无约而来Win7 33in1 V1.3 32位与64位合一(版本齐全装机利器)

    图解无约而来Win7 33in1 V1.3 32位与64位合一(版本齐全装机利器) 2012-07-17 11:32:31|  分类: 默认分类 |  标签: |字号大中小 订阅 无约而来近日发布了将 ...

  6. 32位与64位(软件与硬件)

    通常说的32位与64位的系统包含硬件与软件两方面的区别 硬件方面:64位和32采用的架构是不同的,这里的64位技术是相对于32位而言的,这个位数指的是CPU GPRs(General-Purpose ...

  7. 操作系统32位与64位的区别

    经常有网友问我这样的一个问题,什么是32位与64系统?32位系统与64位的区别等等.围绕目前这些大家比较关系的问题,电脑百事网编辑这里将与大家总结一下,关于32位操作系统与64位操作系统的区别. 首先 ...

  8. 32位怎么兼容64位java_Java 32位与64位兼容

    是的,假设您使用独立于平台的库,Java字节码(和源代码)是独立于平台的. 32与64位应该没有关系. 我不小心在一个64位的虚拟机上运行我们的(大的)应用程序,而不是一个32位的虚拟机,直到一些外部 ...

  9. 计算机win7几位,Win7 32位与64位有什么区别 Win7系统32位和64位的区别科普篇

    Win7系统分32位和64位版本,很多人在选择32位和64位系统的时候十分纠结,原因是自己的电脑应该安装哪一种版本,那么Win7 32位与64位有什么区别,下面装机之家分享一下Win7系统32位和64 ...

最新文章

  1. 编写高度可维护javascript代码的几点关键性原则
  2. 任务切换的方法——《x86汇编语言:从实模式到保护模式》读书笔记37
  3. 洛谷 4115 Qtree4——链分治
  4. python 用元类 type 实现对数据库的ORM 映射
  5. c6011取消对null指针的引用_C/C++学习笔记——C提高:指针强化
  6. 局域网 ARP 欺骗原理详解
  7. AltTab 把 Windows 的 Alt+Tab 功能带到 macOS
  8. 拓端tecdat|在PYTHON中进行主题模型LDA分析
  9. ant java任务_Ant War任务
  10. JavaScript 上传文件并展示
  11. 工作流(activiti7)-简单的介绍和使用(二)
  12. 当电子工程师十余年,感慨万千
  13. 音频合并软件有哪些?推荐3个软件教你如何合并音频
  14. 36种漂亮的CSS3网页按钮Button样式 - 改进版
  15. OpenAI Gym 关于CartPole的模拟退火解法
  16. 国内某厂商摄像头敏感信息泄露漏洞事件分析
  17. 量化交易5-backtrader编写均线策略
  18. UDS(七)应用层 28/85
  19. 原码、反码、补码之间的转换和简单运算
  20. 刷脸支付将呈现爆发式增长!中国将全面进入刷脸支付新时代!

热门文章

  1. CentOS 7.0下使用yum安装MySQL
  2. zabbix 自定义 key (转)
  3. Oracle SQL之 序列使用限制
  4. 如何寻找属于自己的高富帅和大公司!
  5. 大数据虚拟化零起点-4基础运维第三步-部署vCenter Server Virtual Appliance 5.1
  6. 小马拉大车,无线网络优化
  7. 发布一个原创的基于Ajax的通用(组合)查询
  8. 大数据流通与交易技术国家工程实验室成立大会在京举行
  9. 成为黑客之前的语言准备清单
  10. 《大数据分析原理与实践》——导读