#1 Visual C++

2016-11-07

VC6

Microsoft Visual C(简称Visual C、MSVC、VC或VC)是微软公司的C开发工具,具有集成开发环境,可提供编辑C语言,C以及C/CLI等编程语言。

MS 的 C/C++ 开发工具,继承了他们家的 Win32API,MFC,.NET 等编程框架。

最早是 MSC (Microsoft C);
后来添加 C 支持,改名叫 MS C/C;
再后来,GUI 编程兴起,改名 Visual C,简称 MSVC;
再后来,.NET 框架出来了,改名 Visual C
.NET (Visual C .NET 2002);
再后来,05 年,又给改回去了 (Visual C
2005);
现在最新版本已经到了 Visual C++ 2015。

版本历史

Version Time Notes
MSC 1.0 1983
MSC 7.0 1989
MS C/C++ 7.0 1992 c++, mfc
VC++ 1.0 1993 16bit 版本
VC++ 1.52C 1993 16bit 最后版本
VC++ 1.0 1993 32bit 版本, 重置了版本号
VC++ 2.0 Win95 发布
VC++ 4.0 1995
VC++ 5.0 1997
VC++ 6.0 1998
Visual C++ .NET 2002 2002 7.0
Visual C++ .NET 2003 2003 7.1
Visual C++ 2005 2005 8.0, 开始支持 64bit
Visual C++ 2008 2007 9.0
Visual C++ 2010 2010 10.0
Visual C++ 2012 2012 11.0
Visual C++ 2013 2013 12.0
Visual C++ 2015 2015 14.0
Visual C++ 2017 2017 14.10
Visual C++ 2019 2019 14.20

PS: 大学学 C++ 的时候就是用的 VC6。

VC2015

  • C99
    2013 才开始支持,到 2015,基本上实现了 C99。
    PS: C11 就不要想了。
  • C14
    微软在 C
    领域还是很有发言权的。

.NET

Managed C++

Managed Extensions for C, C托管扩展

微软对 C 做了一个语法拓展(属性和关键字),便于将 C 编译成 .NET 平台中间代码。

非托管代码(没有改写)可以与托管代码进行很好的互操作。

但是由于引入了大量新的代码,代码整体可读性降低了。

C++/CLI

经过多年工程实践,微软为 Managed C 进行了大量改进。然后可能是标准化(ECMA-372)的缘故,新版本改名叫 C/CLI。
VC2005 开始使用 C/CLI 代替 Managed C

根据文档(如何将 C++/CLI 项目移植到 .NET Core)来看,C++/CLI 项目就算移植到 .NET Core 也只能运行于 Windows。原因不明。

参考资料与拓展阅读