Microsoft Visual C++(简称Visual C++、MSVC、VC++或VC)是微軟公司的C++開發工具,具有集成开发环境,可提供編輯C语言,C++以及C++/CLI等编程语言。VC++整合了便利的除錯工具,特別是整合了微軟Windows操作系统应用程序接口(Windows API)、三维動畫DirectX API,微软.NET框架。目前最新的版本是Microsoft Visual C++ 2022。
風格
Visual C++以拥有语法高亮、IntelliSense(智能提示)以及高级调试功能而著称。比如,它允许用户进行远程调试,单步执行等。还有允许用户在调试期间重新编译被修改的代码,而不必重新启动正在调试的程序。其编译及创建預編譯頭文件(stdafx.h)、最小重建功能及累加連結(link)著稱。這些特徵明顯縮短程式編輯、編譯及連結的時間花費,在大型軟體計畫上尤其顯著。
发行版本
Visual C++被整合在Visual Studio之中,但仍可單獨安裝使用。
通常细分为多个发行版本。以Visual C++ 2013为例:
- Visual C++ 2013 Community社群版(功能同專業版)(非商業免費)
- Visual C++ 2013 Express速成版
- Visual C++ 2013 Professional专业版
- Visual C++ 2013 Premium高级版
- Visual C++ 2013 Ultimate旗舰版
其中Microsoft Visual C++ 2013 Express可從MSDN的網站免費下載使用,並且不限制商業使用(但不包含MFC)。
歷史
微软的C/C++编译器有一个内置的宏_MSC_VER来表示编译器的当前版本。
Visual C++的前身是Microsoft C/C++。还有相关产品:Microsoft QuickC 2.5 与Microsoft Quick C for Windows 1.0. Visual C++ 编译器仍然叫做Microsoft C/C++。例如Visual C++ 2015 Update 2的版本号是19.00.23918.
语言标准支持
C99
在Visual C++ 2012以前,完全不支持C99与C11的新特性,仅支持1989年版的ANSI C。Visual C++ 2012开始在C模式下支持C99的部分特性,如designated initializers、compound literals、_Bool类型。Visual C++ 2013很大改进了对C99特性的支持。 Visual C++ 2015基本上完整支持了C99标准库,但需要编译器尚未支持的C99语言特性的那部分标准库除外。
C++
至VC++2017 Version 15.7已经完全实现了C++17
详细情况见
工具链生态环境
- Universal CRT (UCRT)包含了C99运行时库的函数与全局变量。UCRT现在是Windows component,随Windows 10安装。UCRT的静态库、DLL的导入库、头文件是Windows 10 SDK的一部分。
- vcruntime库包含Visual C++ CRT实现相关的代码,如异常处理、调试支持、运行时检查、类型信息、实现细节与特定扩展库函数。 vcruntime库相关于特定编译器。
- CRT(C 运行时库)初始化库处理进程启动(CRT startup)、内部的逐线程的初始化、终止。CRT初始化库相关于特定编译器。CRT初始化库总是静态链接,即使使用了动态链接的UCRT。
- 对于本地代码与受管代码混合的情形,使用/clr编译选项,这会动态链接 UCRT与vcruntime,静态链接msvcmrt.lib或msvcmrtd.lib;msvcmrt.lib或msvcmrtd.lib提供了受管代码与本地CRT之间的proxy。对于纯受管代码情形,使用/clr:pure编译选项,这会静态链接msvcurt.lib或msvcurtd.lib。
- msvcmrt.lib、msvcmrtd.lib,用于 DLL UCRT 和 vcruntime 的混合本机和托管 CRT 启动的调试版本的静态库。不可再分发。
- UCRT现在是一个 Windows 组件,并作为 Windows 10 及更高版本的一部分提供。UCRT 的静态库、DLL 导入库和头文件现在可以在 Windows SDK 中找到。
编译时,根据项目是调试版还是发布版,动态还是静态链接运行时库,编译器可自动使用默认库。如果使用编译选项/nodefaultlib,需要显式指定使用的库。对于VC++2015,所有下述库均为多线程:
Visual C++运行时库
Visual C++编译出的应用程序,其运行环境通常需要安装Visual C++运行时库。官方下载网址见。
Visual C++ Build tools
Microsoft C++ Build Tools是一套MSVC工具集,通过可脚本化、单独安装器,而不需要Visual Studio。如果你通过命令行方式开发程序可以使用这套工具。
历史版本支持
从2021年4月26日开始,Visual Studio 2015和更老版本的web安装器文件被从Microsoft Download Center删除。
这些古老的产品可从 “[https://my.visualstudio.com/downloads Downloads - Visual Studio Subscriptions Portal]”下载后用ISO images安装。
參見
- Visual C++名字修飾
参考文献
外部連結
- [http://msdn2.microsoft.com/zh-cn/express/default.aspx Visual Studio Express首页]
- [https://msdn2.microsoft.com/zh-cn/express/aa975050.aspx Visual Studio Express下载页面]
- [http://msdn.microsoft.com/visualc/ 微软的Visual C++开发者中心]
- [https://msdn.microsoft.com/visualc/community/ 微软的Visual C++开发社区]
- [https://blogs.msdn.com/brianjo/archive/2004/08/08/211085.aspx Building Win32 Applications Using Visual C++ 2005 Express]
- [https://web.archive.org/web/20061118034423/http://wi-fizzle.com/howtos/vc-stl/templates.htm Visual C++ STL Templates Tutorial]
评论 (0)