• [转] 关于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

  • 相关阅读:
    什么是lambda
    Google guava工具类的介绍和使用
    Java并发编程:Java创建线程的三种方式
    线程池之ThreadPoolExecutor概述
    idea Spring-boot三种启动方式
    linux 安装kong gateway
    Beautiful Soup 的使用问题
    python与tesserocr的安装和使用
    python中关于yeild关键字的用法
    springboot——@EnableConfigurationProperties是如何起作用
  • 原文地址:https://www.cnblogs.com/beeasy/p/6337452.html
Copyright © 2020-2023  润新知