_MSC_VER的含义和链接库名称后边附加字母“d”
来源:互联网 发布:mysql 大于等于 编辑:程序博客网 时间:2024/05/17 02:32
在配置红宝书第八版的时候看到头文件”vgl.h“有这样一段代码,含有_MSC_VER,glew_static_vs2010_d.lib和glew_static_vs2010.lib。
感觉不解,查资料后明白:
#ifdef _MSC_VER# ifdef _DEBUG# if (_MSC_VER >= 1600)# pragma comment (lib, "glew_static_vs2010_d.lib")# else# pragma comment (lib, "glew_static_d.lib")# endif# else# if (_MSC_VER >= 1600)# pragma comment (lib, "glew_static_vs2010.lib")# else# pragma comment (lib, "glew_static.lib")# endif# endif#endif
1._MSC_VER表示微软编译器的版本
Microsoft Compiler Version 的缩写宏:_MSC_VER
其中:
VC++ 5.0 _MSC_VER = 1000
VC++ 6.0 MSC_VER=1200
VC++ 10.0 MSC_VER=1600
2.链接库后边附加“d”
当解决方案配置为“Debug”时 ,生成的链接库名称后边会附加“d”;
在程序中加入_MSC_VER宏可以根据编译器版本让编译器选择性地编译一段程序。例如一个版本编译器产生的lib文件可能不能被另一个版本的编译器调用,那么在开发应用程序的时候,在该程序的lib调用库中放入多个版本编译器产生的lib文件。在程序中加入_MSC_VER宏,编译器就能够在调用的时根据其版本自动选择可以链接的lib库版本,如下所示。
#if _MSC_VER >= 1400 // for vc8, or vc9
#ifdef _DEBUG
#pragma comment( lib, "SomeLib-vc8-d.lib" )
#elif
#pragma comment( lib, "SomeLib-vc8-r.lib" )
#endif
#elif _MSC_VER >= 1310 // for vc71
#ifdef _DEBUG
#pragma comment( lib, "SomeLib-vc71-d.lib" )
#elif
#pragma comment( lib, "SomeLib-vc71-r.lib" )
#endif
#elif _MSC_VER >=1200 // for vc6
#ifdef _DEBUG
#pragma comment( lib, "SomeLib-vc6-d.lib" )
#elif
#pragma comment( lib, "SomeLib-vc6-r.lib" )
#endif
#endif
阅读全文
0 0
- _MSC_VER的含义和链接库名称后边附加字母“d”
- _MSC_VER的含义
- #if _MSC_VER > 1000 的含义
- _MSC_VER含义
- %*s 和%*d的含义
- 字母的爱情含义
- 缩写字母的含义
- Eclipse如何输入一个或几个字母后,自动联想后边的字母
- 【British standard】字母的名称音和发音
- Python "%s 和 % d" 的含义
- 【c语言】将“China”译成密码,密码规律:用原来字母后边第4个字母代替原来的字母。
- 显卡名称编号的含义
- VC和VS的关系以及_MSC_VER值
- VC和VS的关系以及_MSC_VER值
- _MSC_VER 编译器的版本
- 关于_MSC_VER的涵义
- _MSC_VER
- _MSC_VER
- php设置错误报告级别的方法
- C++指针编程你要小心的陷阱——如何优雅的释放指针void*
- 流放兄弟免费版/破解版 301(国际服)
- Unity3d-UGUI中Butten随鼠标的移动点击而移动
- Spark架构
- _MSC_VER的含义和链接库名称后边附加字母“d”
- vue的组件间通信
- SparkStreaming总结下
- 读书笔记 之 《阿里巴巴Java开发手册》
- 攻防实战:使用Lcx进行内网端口转发
- java中String、StringBuilder和StringBuffer初解
- 一道递归问题
- [BZOJ]1115 石子游戏Kam
- hdu 6178 dfs+超神读入挂