zoukankan      html  css  js  c++  java
  • [转] 关于VS中区分debug与release,32位与64位编译的宏定义

    在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

  • 相关阅读:
    OpenStack--Rabbitmq组件消息队列
    Redis-主从
    haproxy mycat mysql 读写分离MHA高可用
    mysql小白系列_14 线上故障分析与排错
    mysql小白系列_13 Online DDL
    mysql小白系列_12 sysbench
    mysql小白系列_11 MHA补充
    mysql小白系列_11 MHA
    mysql小白系列_10 mysql主从复制原理
    mysql小白系列_09 mysql性能优化关键点
  • 原文地址:https://www.cnblogs.com/beeasy/p/6337452.html
Copyright © 2011-2022 走看看