查看: 4153|评论: 0
个人博客

[C/C++] VC判断64位编译、32位编译、release编译、debug编译

admin 2020-02-06 19:08 4153 0
[复制链接]

1417

文章

258

评论

1万

积分

管理员

夏墨独周

积分
10100

论坛元老技术达人

QQ
发表于 2020-2-6 19:08:47 | 显示全部评论序号 |阅读模式
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


#ifndef _WIN64
afx_msg void  OnTimer(UINT nIDEvent) ;
#else if
afx_msg void OnTimer(UINT_PTR nIDEvent);
#endif


来源:易游模拟器(QQ:207621422),转载请注明出处!
您需要登录后才可以评论 登录 | 立即注册

当前分类积分规则

关闭

站长推荐上一条 /1 下一条

QQ|易游网-易游模拟器 Copyright @2015-2026 ( 浙ICP备15028007号-1 )

© 2026 易游网-易游模拟器 Copyright @2015-2026

快速评论 返回顶部 返回列表