Microsoft Visual C++

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. 在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语言特性的那部分标准库除外。 至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++运行时库。官方下载网址见。 Microsoft C++ Build Tools是一套MSVC工具集，通过可脚本化、单独安装器，而不需要Visual Studio。如果你通过命令行方式开发程序可以使用这套工具。 从2021年4月26日开始，Visual Studio 2015和更老版本的web安装器文件被从Microsoft Download Center删除。 这些古老的产品可从 “Downloads - Visual Studio Subscriptions Portal”下载后用ISO images安装。 Visual C++名字修飾 Visual C++ adds Windows support. InfoWorld. 1993-02-22: 17.  Microsoft Visual Studio 2012下载页面. [2017-04-13]. （原始内容存档于2013-11-12）.  Pre-defined Compiler Macros / Wiki / Compilers. sourceforge.net. [2016-02-11]. （原始内容存档于2020-11-11）.  Ladd, Scott Robert. Optimizing With Microsoft C 6.0. 1990-08-01 [2016-11-28]. （原始内容存档于2017-03-20）.  Retrieved from http://support.microsoft.com/kb/196831 （页面存档备份，存于互联网档案馆）. Visual C++ is a strong development tool. InfoWorld. 1993-06-21: 94 [2017-04-13]. （原始内容存档于2020-08-05）.  Rival DOS Extenders debut at show. InfoWorld. 1993-03-01: 18.  Visual C++ 1.5 integrates OLE, ODBC. InfoWorld. 1993-11-08: 5 [2017-04-13]. （原始内容存档于2020-08-05）.  Microsoft set to prerelease 32-bit Visual C++. InfoWorld. 1993-07-19: 12.  C++ IDEs evolve. InfoWorld. 1994-04-04: 79.  Obsolete Products. [2017-04-13]. （原始内容存档于2005-08-14）.  Toth, Viktor. 1. Visual C++ 4.0 unleashed. Indianapolis: SAMS Publishing. 1996 [2013-07-26]. ISBN 9780672308741. （原始内容存档于2019-08-11）.  History of Visual Studio (Part 3). [2017-04-13]. （原始内容存档于2009-10-11）.  Major Changes from Visual C++ 4.2 to 5.0. [2017-04-13]. （原始内容存档于2015-08-28）.  Microsoft Visual C++ 5.0 Learning Edition. [2017-04-13]. （原始内容存档于1999-04-27）.  Microsoft Visual C++ 5.0 Professional Edition. [2017-04-13]. （原始内容存档于1999-04-27）.  Microsoft Visual C++ 5.0 Enterprise Edition. [2017-04-13]. （原始内容存档于1999-04-17）.  Microsoft Visual C++ 5.0 RISC Edition. [2017-04-13]. （原始内容存档于1999-04-29）.  Major Changes from Visual C++ 5.0 to 6.0. [2017-04-13]. （原始内容存档于2008-09-14）.  Douglas Boling :Programming Microsoft Windows CE .NET, Third Edition Microsoft Press; 3rd edition (June 25, 2003) Paperback: 1264 pages ISBN 978-0735618848 - Companion CD with Microsoft eMbedded Visual C++ 4.0 Service Pack 2 Archive.is的存檔，存档日期2013-02-11 Visual C++ Team Blog. IntelliSense, part 2: The Future. [2008-03-12]. （原始内容存档于2010-03-11）.  What's New for Visual C++ in Visual Studio 2012. Microsoft Developer Network. Microsoft. [2015-09-20]. （原始内容存档于2015-09-23）.  What's New for Visual C++ in Visual Studio 2013. Microsoft Developer Network. Miicrosoft. [2015-09-20]. （原始内容存档于2015-05-23）.  Stephan T. Lavavej. C++11/14/17 Features In VS 2015 RTM. Visual C++ Team Blog. Microsoft. 2015-06-19 [2017-04-13]. （原始内容存档于2015-06-20）.  Eric Battalio. Visual Studio 2015 RTM Now Available. Visual C++ Team Blog. Microsoft. 2015-07-20 [2017-04-13]. （原始内容存档于2015-07-22）.  John. Visual Studio 2017: Productivity, Performance, and Partners. Visual Studio Blog. Microsoft. 2017-03-07 [2020-08-14]. （原始内容存档于2020-09-19）.  John. Visual Studio 2019: Code faster. Work smarter. Create the future.. Visual Studio Blog. Microsoft. 2019-04-02 [2020-08-14]. （原始内容存档于2021-01-29） （美国英语）.  C99 support. Microsoft Connect. [2017-04-13]. （原始内容存档于2016-03-04）.  Pat Brenner. C99 library support in Visual Studio 2013. Visual C++ Team Blog. Microsoft. 2013-07-19 [2017-04-13]. （原始内容存档于2014-08-05）.  What's New for Visual C++ in Visual Studio 2015. Microsoft Developer Network. Microsoft. [2017-04-13]. （原始内容存档于2018-11-05）.  MSDN: Visual C++ Language Conformance. [2018-11-14]. （原始内容存档于2019-01-09）.  C runtime (CRT) and C++ Standard Library (STL) .lib files. [2022-04-03]. （原始内容存档于2021-11-23）.  Visual C++ Team Blog: "Introducing the Universal CRT". [2017-03-22]. （原始内容存档于2019-07-01）.  MSDN: The latest supported Visual C++ downloads. [2018-11-14]. （原始内容存档于2019-08-10）.  MSDN:"UPDATE: SHA-1 signed content to be retired". [2022-08-09]. （原始内容存档于2022-08-09）.  （简体中文）Visual Studio Express首页 （页面存档备份，存于互联网档案馆） （简体中文）Visual Studio Express下载页面 （页面存档备份，存于互联网档案馆） （英文）微软的Visual C++开发者中心 （页面存档备份，存于互联网档案馆） （英文）微软的Visual C++开发社区 （页面存档备份，存于互联网档案馆） （英文）Building Win32 Applications Using Visual C++ 2005 Express （页面存档备份，存于互联网档案馆） （英文）Visual C++ STL Templates Tutorial