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。原因不明。
参考资料与拓展阅读
- Microsoft Docs, Microsoft C/C++ language conformance by Visual Studio version
- Microsoft Docs, 如何将 C++/CLI 项目移植到 .NET Core
- 维基百科, C++托管扩展
- 维基百科(en),Microsoft Visual C++