在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
   
最后附上根据相应编译情况,进行有条件的链接相应静态库的示例代码,其实就是一些宏定义语句的使用:
 
#include "json/json.h"
#ifdef _DEBUG
#ifndef _WIN64
#pragma comment(lib,"json/json_mtd.lib")
#else
#pragma comment(lib,"json/json_mtd_x64.lib")
#endif
#else
#ifndef _WIN64
#pragma comment(lib,"json/json_mt.lib")
#else
#pragma comment(lib,"json/json_mt_x64.lib")
#endif
#endif
using namespace Json;

  转自:http://blog.csdn.net/zhuyingqingfen/article/details/24352137

最新文章

  1. 关于jsp的内置对象request和response的重定向和转化(待补充)
  2. BZOJ1026: [SCOI2009]windy数[数位DP]
  3. php 常用数组操作
  4. Android应用开发-Activity(重制版)
  5. 一次进程hang住问题分析。。。
  6. IIS 您要访问的网页有问题,无法显示!
  7. 有了Hadoop MapReduce, 为什么还要Spark?
  8. 编辑WCF配置不出现
  9. PAT乙级 1028. 人口普查(20)
  10. Interview-Largest independent set in binary tree.
  11. 关于.net中线程原子性的自我总结
  12. php pdo和mysqli对比选择
  13. CLOSE-UP FORMALWEAR_意大利进口_2015秋冬_男装发布会_西装图片系列_男装西装设计资料_WeArTrends时尚资讯网_国内最专业的服装设计资讯网站
  14. CAS SSO
  15. MEF IOC使用
  16. LINUX 笔记-MOUNT
  17. Docker使用 Supervisor 来管理进程
  18. 一套强大的vim配置文件+详细注释
  19. poj 1177 --- Picture(线段树+扫描线 求矩形并的周长)
  20. java生成pdf文件 --- Table

热门文章

  1. Linux显示登录Shell信息
  2. ASP.NET Core轻松入门Bind读取配置文件到C#实例
  3. 第二篇:数据可视化 - 基本API
  4. Android5.0以上的项目都会有的按钮点击特效--水波纹
  5. 【POJ3207】Ikki's Story IV - Panda's Trick
  6. [SCOI2008]斜堆
  7. LightOJ1245 Harmonic Number (II)
  8. 禁ping以及清理系统多余账号说明
  9. Mysql遇到 is marked as crashed and should be repaired 问题解决方法
  10. nginx学习之rewrite