_MSC_VER 与vs

_MSC_VER 与vs


_MSC_VER 定义编译器的版本。

下面是一些编译器版本的_MSC_VER值
 
  MS VC++ 9.0 _MSC_VER = 1500
     MS VC++ 8.0 _MSC_VER = 1400   
        MS VC++ 7.1 _MSC_VER = 1310   
        MS VC++ 7.0 _MSC_VER = 1300   
        MS VC++ 6.0 _MSC_VER = 1200   
        MS VC++ 5.0 _MSC_VER = 1100

给一段跟编译器相关的代码:

 1 char *  UStrcpy( char *  pcDest, size_t stDestSize,  const   char *  pcSrc)
 2 {
 3#if _MSC_VER >= 1400
 4    strcpy_s(pcDest, stDestSize, pcSrc);
 5    return pcDest;
 6#else // #if _MSC_VER >= 1400
 7
 8    _ASSERT(stDestSize != 0);
 9
10    size_t stSrcLen = strlen(pcSrc);
11    _ASSERT(stDestSize > stSrcLen); // > because need null character
12
13    size_t stWrite;
14
15    if (stDestSize <= stSrcLen) // stDestSize < stSrcLen + 1
16        stWrite = stDestSize;
17    else 
18        stWrite = stSrcLen + 1;
19
20    char *pcResult = strncpy(pcDest, pcSrc, stWrite);
21    pcResult[stDestSize - 1= '\0';
22    return pcResult;
23#endif // #if _MSC_VER >= 1400
24}

 

说明:
Visual C++ 1.0,集成了MFC 2.0,是Visual C++第一代版本,1992年推出,可同时支持16位处理器与32位处理器版,可算是Microsoft C/C++ 7.0的更新版本。

Visual C++ 1.5,集成了MFC 2.5,增加了“目标文件链接嵌入 (OLE)2.0和支持MFC的开放式数据库链接(ODBC)。这个版本只有16位的,也是第一个以CD-ROM为软件载体的版本。这个版本也没有所谓“标准版”。它是最后一个支持16位软件编程的软件,也是第一个支持基于x86机器的32位编程软件。

Visual C++ 2.0,集成了MFC 3.0,第一个只发行32位的版本。这个版本提前发行了,几乎成了一个“丢失的版本”。这是因为那个时候Windows 95(开发代码为"Chicago")还没有发行,而Windows NT又只占有很小的市场份额。该版本用户可以通过微软公司的订阅服务(Microsoft Subscription Service)升级至2.1和2.2版本。微软公司在这个版本中集成并升级了Visual C++ 1.5,作为2.0版本(Visual C++ 1.5升级后版本号:1.51)以及2.1版本(Visual C++ 1.5升级后版本号:1.52)的一部分。Visual C++ 2.x附带了16位和32位版本的CDK,同时支持Win32s的开发。Visual C++ 2.2及其后续版本不再升级Visual C++ 1.5(尽管它一直被集成至Visual C++ 4.x)。尽管出生的比Windows 95早,这个版本的发行日期还是非常接近Windows 95,可是当Windows 95发行时,Visual C++ 4.0也已经发行了。因此很多程序开发者直接从1.x过渡到4.0,把2.x跳过去了。

Visual C++ 4.0,集成了MFC 4.0,这个版本是专门为Windows 95以及Windows NT设计的。用户可以通过微软公司的订阅服务(Microsoft Subscription Service)升级至4.1和4.2版本(此版本不再支持Win32s开发)。

Visual C++ 5.0,集成了MFC 4.21,是4.2版以来比较大的一次升级。

Visual C++ 6.0,集成了MFC 6.0,于1998发行。发行至今一直被广泛地用于大大小小的项目开发。但是,这个版本在Windows XP下运行会出现问题,尤其是在调试模式的情况下(例如:静态变量的值并不会显示)。这个调试问题可以通过打一个叫“Visual C++ 6.0 Processor Pack”的补丁来解决。奇怪的是,这个网页强调用户也必须运行Windows 98、Windows NT 4.0、或Windows 2000。

Visual C++ .NET 2002(也即Visual C++ 7.0),于2002年发行,集成了MFC 7.0,支持链接时代码生成和调试运行时检查。这个版本还集成了Managed Extension for C++,以及一个全新的用户界面(与Visual Basic和Visual C#共用)。这也是为什么Visual C++ 6.0仍然被广泛使用的一个主要原因。

Visual C++ .NET 2003(也即Visual C++ 7.1),集成了MFC 7.1,于2003年发行,是对Visual C++ .NET 2002的一次重大升级。
eMbedded Visual C++,用于Windows CE操作系统。Visual C++作为一个独立的开发环境被Microsoft Visual Studio 2005所替代。

Visual C++ 2005(也即Visual C++ 8.0),集成了MFC 8.0,于2005年11月发布。这个版本引进了对C++/CLI语言和OpenMP的支持。

Visual C++ 2008(也即Visual C++ 9.0),于2007年11月发布。这个版本支持.NET 3.5。

Visual C++ 2010(也即Visual C++ 10.0),于2010年发布,是目前最新的版本。Visual C++开发团队考虑使用SQL Server Compact格式的数据库来存储源码的相关信息[1].本版也加入了现代化的C++并行运算库-Parallel Patterns Library,部分支持C++0x。本版建构于.NET 4.0之上,但仍支持机器码的编译。

你可能感兴趣的:(_MSC_VER 与vs)