From Wikipedia, the free encyclopedia
Developer(s) | Microsoft |
---|---|
Initial release | February 1993; 32 years ago[1] |
Stable release |
14.40.33816 |
Written in | C++[2] |
Operating system | Windows |
Platform | IA-32, x86-64 and ARM |
Available in | English, Chinese (Simplified & Traditional), Czech, French, German, Italian, Japanese, Korean, Polish, Portuguese (Brazilian), Russian, Spanish, Turkish |
Type | Compiler |
License | Trialware and freeware |
Website | docs |
Microsoft Visual C++ (MSVC) is a compiler for the C, C++, C++/CLI and C++/CX programming languages by Microsoft. MSVC is proprietary software; it was originally a standalone product but later became a part of Visual Studio and made available in both trialware and freeware forms. It features tools for developing and debugging C++ code, especially code written for the Windows API, DirectX and .NET.
Many applications require redistributable Visual C++ runtime library packages to function correctly. These packages are frequently installed separately from the applications they support, enabling multiple applications to use the package with only a single installation. These Visual C++ redistributable and runtime packages are mostly installed for standard libraries that many applications use.[3]
The predecessor to Visual C++ was called Microsoft C/C++. There was also a Microsoft QuickC 2.5 and a Microsoft QuickC for Windows 1.0. The Visual C++ compiler is still known as Microsoft C/C++ and as of the release of Visual C++ 2015 Update 2, is on version 14.0.23918.0.[citation needed]
- Microsoft C 1.0, based on Lattice C, was Microsoft’s first C product in 1983. It was not K&R C compliant.
- C 2.0 added large model support, allowing up to 1MiB for both the Code Segment and Data Segment.[4]
- C 3.0 was the first version developed inside Microsoft.[5] This version intended compatibility with K&R and the later ANSI standard. It was being used inside Microsoft (for Windows and Xenix development) in early 1984. It shipped as a product in 1985.
- C 4.0 added optimizations and CodeView, a source-level debugger.
- C 5.0 added loop optimizations and huge memory model (arrays bigger than 64 KB) support.
- C 5.1 released in 1988 allowed compiling programs for OS/2 1.x. The fourteen 5.25″ disk (two of which were 1.2 MB, the others 360k) version included QuickC. The eleven 720k 3.5″ disk version included with the OS/2 Software Development Kit included MASM 5.1 (a single executable that worked under both MSDOS and OS/2 1.x).
- C 6.0 released in 1989 added support for tiny memory model and better support for the ANSI C89 standard (the documentation explicitly says that it is not 100% compliant but it appears to be close enough for practical purposes). It added the Programmer’s Workbench IDE, global flow analysis, a source browser, and a new debugger. To the surprise of many, C++ was not included even though competitors already had offerings.[6]
- C/C++ 7.0 was released in 1992. Dropped OS/2 support. Compilation required a 386 processor plus the included DOS extender, 386MAX,[7] though for users to be able to target DOS extenders in their own programs they write, one of several later-released third-party tools was required.[8] Added built-in support for C++ and MFC (Microsoft Foundation Class Library) 1.0.[9]
- Visual C++ 1.0, which included MFC 2.0, was the first version of «Visual» C++, released in February 1993. It was Cfront 2.1 compliant[10] and available in two editions:[1]
- Standard: replaced QuickC for Windows.
- Professional: replaced C/C++ 7.0. Included the ability to build both DOS and Windows applications, an optimizing compiler, a source profiler, and the Windows 3.1 SDK.[10] The Phar Lap 286 DOS Extender Lite was also included.[11]
- Visual C++ 1.5 was released in December 1993, included MFC 2.5, and added OLE 2.0 and ODBC support to MFC.[12] It was the first version of Visual C++ that came only on CD-ROM.
- Visual C++ 1.51 and 1.52 were available as part of a subscription service.
- Visual C++ 1.52b is similar to 1.52, but does not include the Control Development Kit.
- Visual C++ 1.52c was a patched version of 1.5. It is the last, and arguably most popular, development platform for Microsoft Windows 3.x. It is available through Microsoft Developer Network.
Strictly 32-bit versions
[edit]
- Visual C++ 1.0 (original name: Visual C++ 32-bit Edition) released in 1993 was the first version for 32-bit development (and requiring 32-bit Windows NT as a host) for the Intel 386 architecture.[13] Although released when 16-bit version 1.5 was available, it did not include support for OLE2 and ODBC. It was also available in a bundle called Visual C++ 16/32-bit Suite, which included Visual C++ 1.5.[14]
- Visual C++ 2.0, which included MFC 3.0, was the first version to be 32-bit only. In many ways, this version was ahead of its time, since Windows 95, then codenamed «Chicago», was not yet released, and Windows NT had only a small market share. Microsoft included and updated Visual C++ 1.5 as part of the 2.x releases up to 2.1, which included Visual C++ 1.52, and both 16-bit and 32-bit version of the Control Development Kit (CDK) were included. Visual C++ 2.x also supported Win32s development. It is available through Microsoft Developer Network. There was a Visual C++ 2.0 RISC Edition for MIPS and Alpha processors, as well as a cross-platform edition for the Macintosh (68000 instruction set).[15]
- Microsoft Visual C++ Cross-Development Edition for the Macintosh was an add-on for Visual C++ that introduced the Windows Portability Library, originally known as Windows Library for Macintosh[16]: 17 or Windows Layer for the Macintosh (WLM),[17]: 16 allowing developers to write applications against the Win32 and MFC APIs that could be compiled for 68000 architecture Macintosh computers.[16]
- Visual C++ 2.1 and 2.2 were updates for 2.0 available through subscription.
- Visual C++ 4.0, released on 1995-12-11,[18] introduced the Developer Studio IDE. Its then-novel tiled layout of non-overlapping panels—navigation panel, combination editor/source level debugger panel, and console output panel[19]—continues through the Visual Studio product line (as of 2013). Visual C++ 4.0 included MFC 4.0, was designed for Windows 95 and Windows NT. To allow support of legacy (Windows 3.x/DOS) projects, 4.0 came bundled with the Visual C++ 1.52 installation CD. Updates available through subscription included Visual C++ 4.1, which came with the Microsoft Game SDK (later released separately as the DirectX SDK), and Visual C++ 4.2. Version number 3.0 was skipped to achieve version number parity between Visual C++ 4.0 and MFC 4.0.[20]
- Visual C++ 4.2 did not support Windows 3.x (Win32s) development.[21] This was the final version with a cross-platform edition for the Mac available and it differed from the 2.x version in that it also allowed compilation for the PowerPC instruction set.
- Visual C++ 5.0 (bundled with Visual Studio 97) which included MFC 4.21 and was released 1997-04-28,[18] was a major upgrade from 4.2.[22] Available in four editions: Learning,[23] Professional,[24] Enterprise,[25] and RISC.[26]
- Visual C++ 6.0 (commonly known as VC6, and available standalone in Standard, Professional and Enterprise editions, as well as bundled with Visual Studio 6.0), which included MFC 6.0, was released in 1998.[27][28] The release was somewhat controversial since it did not include an expected update to MFC. Visual C++ 6.0 is still quite popular and often used to maintain legacy projects. There are, however, issues with this version under Windows XP, especially under the debugging mode (for example, the values of static variables do not display). The debugging issues can be solved with a patch called the «Visual C++ 6.0 Processor Pack».[29] Version number: 12.00.8804
- Visual C++ .NET 2002 (also known as Visual C++ 7.0), which included MFC 7.0, was released in 2002 with support for link time code generation and debugging runtime checks, .NET 1.0, and Visual C# and Managed C++. The new user interface used many of the hot keys and conventions of Visual Basic, which accounted for some of its unpopularity among C++ developers.[citation needed] Version number: 13.00.9466
- Visual C++ .NET 2003 (also known as Visual C++ 7.1), which included MFC 7.1, was released in 2003 along with .NET 1.1 and was a major upgrade to Visual C++ .NET 2002, and was the first version to support the C99 «long long» construct. It was considered a patch to Visual C++ .NET 2002. Accordingly, the English language upgrade version of Visual Studio .NET 2003 shipped for minimal cost to owners of the English-language version of Visual Studio .NET 2002. Windows 98 is the lowest officially supported version. Although simple programs will work on Windows 95 and NT 4.0, more complex programs may cause things like ws2_32.dll to be referenced, or functions missing in kernel32.dll. In later versions (Visual C++ 2005) of the compiler even simple programs won’t work (unless you replace the C library) because they have a reference to function IsDebuggerPresent in kernel32.dll which only exists in Windows 98 and later.[citation needed] Version number: 13.10.3077
- eMbedded Visual C++[30] in various versions was used to develop for some versions of the Windows CE operating system. Initially it replaced a development environment consisting of tools added onto Visual C++ 6.0. eMbedded Visual C++ was replaced as a separate development environment by Microsoft Visual Studio 2005.
32-bit and 64-bit versions
[edit]
- Visual C++ 2005 (also known as Visual C++ 8.0), which included MFC 8.0, was released in November 2005. This version supports .NET 2.0 and includes a new version of C++ targeted to the .NET framework (C++/CLI) with the purpose of replacing the previous version (Managed C++). Managed C++ for CLI is still available via compiler options, though. It also introduced OpenMP. With Visual C++ 2005, Microsoft also introduced Team Foundation Server. Visual C++ 8.0 has problems compiling MFC AppWizard projects that were created using Visual Studio 6.0, so maintenance of legacy projects can be continued with the original IDE if rewriting is not feasible. Visual C++ 2005 is the last version able to target Windows 98 and Windows Me.[31][32] SP1 version (14.00.50727.762) is also available in Microsoft Windows SDK Update for Windows Vista.
- Visual C++ 2008 (also known as Visual C++ 9.0) was released in November 2007. This version supports .NET 3.5. Managed C++ for CLI is still available via compiler options. By default, all applications compiled against the Visual C++ 2008 Runtimes (static and dynamic linking) will only work on Windows 2000, Windows XP SP2 and later.[33][34] A feature pack released for VC9, later included in SP1, added support for C++ TR1 library extensions. SP1 version (15.00.30729.01) is also available in Microsoft Windows SDK for Windows 7.
- Some versions of Visual C++ supported Itanium 2.
- Visual C++ 2010 (also known as Visual C++ 10.0) was released on April 12, 2010. It uses a SQL Server Compact database to store information about the source code, including IntelliSense information, for better IntelliSense and code-completion support.[35] However, Visual C++ 2010 does not support Intellisense for C++/CLI.[36] This version adds a C++ parallel computing library called the Parallel Patterns Library, partial support for C++11, significantly improved IntelliSense based on the Edison Design Group front end,[37] and performance improvements to both the compiler and generated code.[38] This version is built on .NET 4.0, but supports compiling to machine code. The partial C++11 support mainly consists of six compiler features:[39] lambdas, rvalue references, auto, decltype, static_assert, and nullptr. C++11 also supports library features (e.g., moving the TR1 components from std::tr1 namespace directly to std namespace). Variadic templates were also considered, but delayed until some future version due to having a lower priority, which stemmed from the fact that, unlike other costly-to-implement features (lambda, rvalue references), variadic templates would benefit only a minority of library writers rather than the majority of compiler end users.[40] By default, all applications compiled against Visual C++ 2010 Runtimes only work on Windows XP SP2 and later. The RTM version (16.00.30319) is also available in Windows SDK for Windows 7 and .NET Framework 4 (WinSDK v7.1).[41] SP1 version (16.00.40219) is available as part of Visual Studio 2010 Service Pack 1 or through the Microsoft Visual C++ 2010 Service Pack 1 Compiler Update for the Windows SDK 7.1.[42]
- Visual C++ 2012 (also known as Visual C++ 11.0) was released on August 15, 2012. It features improved C++11 support, and support for Windows Runtime development.[43]
- Visual C++ 2013 (also known as Visual C++ 12.0) was released on October 17, 2013. It features further C++11 and C99 support, and introduces a REST SDK.[44]
- Visual C++ 2015 (also known as Visual C++ 14.0) was released on July 20, 2015.[45] It features improved C++11/14/17 support.[46] Without any announcement from Microsoft, Visual Studio 2015 Update 2 started generating telemetry calls in compiled binaries. After some users contacted Microsoft about this problem, Microsoft said they would remove these telemetry calls when compiling with the future Visual Studio 2015 Update 3.[47][48] The function in question was removed from the Visual C++ CRT static libraries in Visual Studio 2015 Update 3.[citation needed]
- Visual C++ 2017 (also known as Visual C++ 14.1) was released on March 7, 2017.[49]
- Visual C++ 2019 (also known as Visual C++ 14.20) was released on April 2, 2019.[50]
- Visual C++ 2022 (also known as Visual C++ 14.30) was released on November 8, 2021.[51]
Internal version numbering
[edit]
There are several different version numbers to consider when working with Visual C or C++. The oldest and most original of these is the compiler version number, which has been monotonically increased since the early Microsoft C compiler days. This is the version returned by running the command cl.exe
on its own without any options. By taking two digits after the decimal and dropping the decimal point, this also becomes the value of the C pre-processor macro: _MSC_VER
, and the CMake variable: MSVC_VERSION
. A longer version of the C macro is _MSC_FULL_VER
to make more finely-grained distinctions between builds of the compiler. An example of _MSC_VER
is 1933 to represent version 19.33 of the Microsoft C/C++ compiler, and of _MSC_FULL_VER
is 193331630.
The Visual product version, such as «17.3.4», designates the version of Visual Studio with which version 19.33 of the compiler was packaged. Then there is the Microsoft Visual C/C++ Runtime Library version, e.g. «14.3». From this, one can also deduce the toolset version, which can be obtained by taking the first three digits of the runtime library version and dropping the decimal, e.g. «143». It includes the Visual C/C++ runtime library, as well as compilers, linkers, assemblers, other build tools, and matching libraries and header files. The following is a (scrapeable) table of the known correlated version numbers.
Visual Studio Versions[52][53]
product name | VC ( Version Code ) | marketing year | _MSC_VER | _MSC_FULL_VER | runtime library version |
---|---|---|---|---|---|
Microsoft C 6.0 | 600 | ||||
Microsoft C/C++ 7.0 | 700 | ||||
Visual C++ 1.0 | 1.0 | 800 | 1 | ||
Visual C++ 2.0 | 2.0 | 900 | 2 | ||
Visual C++ 4.0 | 4.0 | 1000 | 4 | ||
Visual C++ 4.1 | 4.1 | 1010 | 4.1 | ||
Visual C++ 4.2 | 4.2 | 1020 | 4.2 | ||
Visual Studio 97 [5.0] | 5.0 | 97 | 1100 | 5 | |
Visual Studio 6.0 SP5 | 6.0 | 1200 | 12008804 | 6 | |
Visual Studio 6.0 SP6 | 6.0 | 1200 | 12008804 | 6 | |
Visual Studio .NET 2002 [7.0] | 7.0 | 2002 | 1300 | 13009466 | 7 |
Visual Studio .NET 2003 Beta [7.1] | 7.1 | 2003 | 1310 | 13102292 | 7.1 |
Visual Studio Toolkit 2003 [7.1] | 7.1 | 2003 | 1310 | 13103052 | 7.1 |
Visual Studio .NET 2003 [7.1] | 7.1 | 2003 | 1310 | 13103077 | 7.1 |
Visual Studio .NET 2003 SP1 [7.1] | 7.1 | 2003 | 1310 | 13106030 | 7.1 |
Visual Studio 2005 Beta 1 [8.0] | 8.0 | 2005 | 1400 | 140040607 | 8 |
Visual Studio 2005 Beta 2 [8.0] | 8.0 | 2005 | 1400 | 140050215 | 8 |
Visual Studio 2005 [8.0] | 8.0 | 2005 | 1400 | 140050320 | 8 |
Visual Studio 2005 SP1 [8.0] | 8.0 | 2005 | 1400 | 140050727 | 8 |
Visual Studio 2008 Beta 2 [9.0] | 8.0 | 2008 | 1500 | 150020706 | 9 |
Visual Studio 2008 [9.0] | 9.0 | 2010 | 1500 | 150021022 | 9 |
Visual Studio 2008 SP1 [9.0] | 9.0 | 2010 | 1500 | 150030729 | 9 |
Visual Studio 2010 Beta 1 [10.0] | 10.0 | 2010 | 1600 | 160020506 | 10 |
Visual Studio 2010 Beta 2 [10.0] | 10.0 | 2010 | 1600 | 160021003 | 10 |
Visual Studio 2010 [10.0] | 10.0 | 2010 | 1600 | 160030319 | 10 |
Visual Studio 2010 SP1 [10.0] | 10.0 | 2010 | 1600 | 160040219 | 10 |
Visual Studio 2012 [11.0] | 11.0 | 2012 | 1700 | 170050727 | 11 |
Visual Studio 2012 Update 1 [11.0] | 11.0 | 2012 | 1700 | 170051106 | 11 |
Visual Studio 2012 Update 2 [11.0] | 11.0 | 2012 | 1700 | 170060315 | 11 |
Visual Studio 2012 Update 3 [11.0] | 11.0 | 2012 | 1700 | 170060610 | 11 |
Visual Studio 2012 Update 4 [11.0] | 11.0 | 2012 | 1700 | 170061030 | 11 |
Visual Studio 2012 November CTP [11.0] | 11.0 | 2012 | 1700 | 170051025 | 11 |
Visual Studio 2013 Preview [12.0] | 12.0 | 2013 | 1800 | 180020617 | 12 |
Visual Studio 2013 RC [12.0] | 12.0 | 2013 | 1800 | 180020827 | 12 |
Visual Studio 2013 [12.0] | 12.0 | 2013 | 1800 | 180021005 | 12 |
Visual Studio 2013 Update 1 [12.0] | 12.0 | 2013 | 1800 | 180021005 | 12 |
Visual Studio 2013 Update2 RC [12.0] | 12.0 | 2013 | 1800 | 180030324 | 12 |
Visual Studio 2013 Update 2 [12.0] | 12.0 | 2013 | 1800 | 180030501 | 12 |
Visual Studio 2013 Update 3 [12.0] | 12.0 | 2013 | 1800 | 180030723 | 12 |
Visual Studio 2013 Update 4 [12.0] | 12.0 | 2013 | 1800 | 180031101 | 12 |
Visual Studio 2013 Update 5 [12.0] | 12.0 | 2013 | 1800 | 180040629 | 12 |
Visual Studio 2013 November CTP [12.0] | 12.0 | 2013 | 1800 | 180021114 | 12 |
Visual Studio 2015 [14.0] | 14.0 | 2015 | 1900 | 190023026 | 14 |
Visual Studio 2015 Update 1 [14.0] | 14.0 | 2015 | 1900 | 190023506 | 14 |
Visual Studio 2015 Update 2 [14.0] | 14.0 | 2015 | 1900 | 190023918 | 14 |
Visual Studio 2015 Update 3 [14.0] | 14.0 | 2015 | 1900 | 190024210 | 14 |
Visual Studio 2017 version 15.0 | 15.0 | 2017 | 1910 | 191025017 | 14.1 |
Visual Studio 2017 version 15.1 | 15.1 | 2017 | 1910 | 191025017 | 14.1 |
Visual Studio 2017 version 15.2 | 15.2 | 2017 | 1910 | 191025017 | 14.1 |
Visual Studio 2017 version 15.3.3 | 15.3.3 | 2017 | 1911 | 191125507 | 14.11 |
Visual Studio 2017 version 15.4.4 | 15.4.4 | 2017 | 1911 | 191125542 | 14.11 |
Visual Studio 2017 version 15.4.5 | 15.4.5 | 2017 | 1911 | 191125547 | 14.11 |
Visual Studio 2017 version 15.5.2 | 15.5.2 | 2017 | 1912 | 191225831 | 14.12 |
Visual Studio 2017 version 15.5.3 | 15.5.3 | 2017 | 1912 | 191225834 | 14.12 |
Visual Studio 2017 version 15.5.4 | 15.5.4 | 2017 | 1912 | 191225834 | 14.12 |
Visual Studio 2017 version 15.5.6 | 15.5.6 | 2017 | 1912 | 191225835 | 14.12 |
Visual Studio 2017 version 15.5.7 | 15.5.7 | 2017 | 1912 | 191225835 | 14.12 |
Visual Studio 2017 version 15.6.0 | 15.6.0 | 2017 | 1913 | 191326128 | 14.13 |
Visual Studio 2017 version 15.6.1 | 15.6.1 | 2017 | 1913 | 191326128 | 14.13 |
Visual Studio 2017 version 15.6.2 | 15.6.2 | 2017 | 1913 | 191326128 | 14.13 |
Visual Studio 2017 version 15.6.3 | 15.6.3 | 2017 | 1913 | 191326129 | 14.13 |
Visual Studio 2017 version 15.6.4 | 15.6.4 | 2017 | 1913 | 191326129 | 14.13 |
Visual Studio 2017 version 15.6.6 | 15.6.6 | 2017 | 1913 | 191326131 | 14.13 |
Visual Studio 2017 version 15.6.7 | 15.6.7 | 2017 | 1913 | 191326132 | 14.13 |
Visual Studio 2017 version 15.7.1 | 15.7.1 | 2017 | 1914 | 191426428 | 14.14 |
Visual Studio 2017 version 15.7.2 | 15.7.2 | 2017 | 1914 | 191426429 | 14.14 |
Visual Studio 2017 version 15.7.3 | 15.7.3 | 2017 | 1914 | 191426430 | 14.14 |
Visual Studio 2017 version 15.7.5 | 15.7.5 | 2017 | 1914 | 191426433 | 14.14 |
Visual Studio 2017 version 15.9.1 | 15.9.1 | 2017 | 1916 | 191627023 | 14.16 |
Visual Studio 2017 version 15.9.4 | 15.9.4 | 2017 | 1916 | 191627025 | 14.16 |
Visual Studio 2017 version 15.9.5 | 15.9.5 | 2017 | 1916 | 191627026 | 14.16 |
Visual Studio 2017 version 15.9.7 | 15.9.7 | 2017 | 1916 | 191627027 | 14.16 |
Visual Studio 2017 version 15.9.11 | 15.9.11 | 2017 | 1916 | 191627030 | 14.16 |
Visual Studio 2019 version 16.0.0 | 16.0.0 | 2019 | 1920 | 192027508 | 14.20 |
Visual Studio 2019 version 16.1.2 | 16.1.2 | 2019 | 1921 | 192127702 | 14.21 |
Visual Studio 2019 version 16.2.3 | 16.2.3 | 2019 | 1922 | 192227905 | 14.21 |
Visual Studio 2019 version 16.3.2 | 16.3.2 | 2019 | 1923 | 192328105 | 14.21 |
Visual Studio 2019 version 16.4.0 | 16.4.0 | 2019 | 1924 | 192428314 | 14.24 |
Visual Studio 2019 version 16.5.1 | 16.5.1 | 2019 | 1925 | 192528611 | 14.25 |
Visual Studio 2019 version 16.6.2 | 16.6.2 | 2019 | 1926 | 192628806 | 14.26 |
Visual Studio 2019 version 16.7 | 16.7 | 2019 | 1927 | 192729112 | 14.27 |
Visual Studio 2019 version 16.8.1 | 16.8.1 | 2019 | 1928 | 192829333 | 14.28 |
Visual Studio 2019 version 16.8.2 | 16.8.2 | 2019 | 1928 | 192829334 | 14.28 |
Visual Studio 2019 version 16.9.0 | 16.9.0 | 2019 | 1928 | 192829910 | 14.28 |
Visual Studio 2019 version 16.9.2 | 16.9.2 | 2019 | 1928 | 192829913 | 14.28 |
Visual Studio 2019 version 16.9.17 | 16.9.17 | 2019 | 1928 | 192829921 | 14.28 |
Visual Studio 2019 version 16.9.18 | 16.9.18 | 2019 | 1928 | 192829921 | 14.28 |
Visual Studio 2019 version 16.9.19 | 16.9.19 | 2019 | 1928 | 192829923 | 14.28 |
Visual Studio 2019 version 16.11.2 | 16.11.2 | 2019 | 1929 | 192930133 | 14.29 |
Visual Studio 2019 version 16.11.8 | 16.11.8 | 2019 | 1929 | 192930138 | 14.29 |
Visual Studio 2019 version 16.11.9 | 16.11.9 | 2019 | 1929 | 192930139 | 14.29 |
Visual Studio 2019 version 16.11.10 | 16.11.10 | 2019 | 1929 | 192930140 | 14.29 |
Visual Studio 2019 version 16.11.11 | 16.11.11 | 2019 | 1929 | 192930141 | 14.29 |
Visual Studio 2019 version 16.11.12 | 16.11.12 | 2019 | 1929 | 192930142 | 14.29 |
Visual Studio 2019 version 16.11.16 | 16.11.16 | 2019 | 1929 | 192930145 | 14.29 |
Visual Studio 2019 version 16.11.17 | 16.11.17 | 2019 | 1929 | 192930146 | 14.29 |
Visual Studio 2019 version 16.11.21 | 16.11.21 | 2019 | 1929 | 192930147 | 14.29 |
Visual Studio 2019 version 16.11.24 | 16.11.24 | 2019 | 1929 | 192930148 | 14.29 |
Visual Studio 2019 version 16.11.27 | 16.11.27 | 2019 | 1929 | 192930151 | 14.29 |
Visual Studio 2019 version 16.11.35 | 16.11.35 | 2019 | 1929 | 192930154 | 14.29 |
Visual Studio 2022 version 17.0.1 | 17.0.1 | 2022 | 1930 | 193030705 | 14.30 |
Visual Studio 2022 version 17.0.2 | 17.0.2 | 2022 | 1930 | 193030706 | 14.31 |
Visual Studio 2022 version 17.1.3 | 17.1.3 | 2022 | 1931 | 193131105 | 14.31 |
Visual Studio 2022 version 17.2.2 | 17.2.2 | 2022 | 1932 | 193231329 | 14.32 |
Visual Studio 2022 version 17.3.4 | 17.3.4 | 2022 | 1933 | 193331630 | 14.33 |
Visual Studio 2022 version 17.4.0 | 17.4.0 | 2022 | 1934 | 193431933 | 14.34 |
Visual Studio 2022 version 17.5.0 | 17.5.0 | 2022 | 1935 | 193532215 | 14.35 |
Visual Studio 2022 version 17.6.0 | 17.6.0 | 2022 | 1936 | 193632532 | 14.36 |
Visual Studio 2022 version 17.6.2 | 17.6.2 | 2022 | 1936 | 193632532 | 14.36.32532 |
Visual Studio 2022 version 17.6.4 | 17.6.4 | 2022 | 1936 | 193632535 | 14.36.32532 |
Visual Studio 2022 version 17.7.0 | 17.7.0 | 2022 | 1937 | 193732822 | 14.36.32543 |
Visual Studio 2022 version 17.8.0 | 17.8.0 | 2022 | 1938 | 193833130 | 14.38.33135 |
Visual Studio 2022 version 17.9.1 | 17.9.1 | 2022 | 1939 | 193933520 | 14.39.33520 |
Visual Studio 2022 version 17.9.6 | 17.9.6 | 2022 | 1939 | 193933523 | 14.39.33523 |
Visual Studio 2022 version 17.10.1 | 17.10.1 | 2022 | 1940 | 194033811 | 14.40.33811 |
Visual Studio 2022 version 17.10.10 | 17.10.10 | 2022 | 1940 | 194033818 | 14.40.33818 |
Visual Studio 2022 version 17.11.0 | 17.11.0 | 2022 | 1941 | 194134120 | 14.41.34120 |
Visual Studio 2022 version 17.12.4 | 17.12.4 | 2022 | 1942 | 194234436 | 14.42.34436 |
The Visual C++ compiler ABI has historically changed between major compiler releases.[54] This is especially the case for STL containers, where container sizes have varied a lot between compiler releases.[55] Microsoft therefore recommends against using C++ interfaces at module boundaries when one wants to enable client code compiled using a different compiler version. Instead of C++, Microsoft recommends using C[56] or COM[57] interfaces, which are designed to have a stable ABI between compiler releases.
All 14.x MSVC releases have a stable ABI,[58] and binaries built with these versions can be mixed in a forwards-compatible manner, noting the following restrictions:
- The toolset version used must be equal to or higher than the highest toolset version used to build any linked binaries.
- The MSVC Redistributable version must be equal to or higher than the toolset version used by any application component.
- Static libraries or object files compiled with /GL (Whole program optimisation) are not binary compatible between versions and must use the exact same toolset.
C runtime libraries
[edit]
Visual C++ ships with different versions of C runtime libraries.[59] This means users can compile their code with any of the available libraries. However, this can cause some problems when using different components (DLLs, EXEs) in the same program. A typical example is a program using different libraries. The user should use the same C Run-Time for all the program’s components unless the implications are understood. Microsoft recommends using the multithreaded, dynamic link library (/MD or /MDd compiler option) to avoid possible problems.[59]
Although Microsoft’s CRT implements a large subset of POSIX interfaces, the Visual C++ compiler will emit a warning on every use of such functions by default. The rationale is that C and C++ standards require an underscore prefix before implementation-defined interfaces, so the use of these functions are non-standard.[60] However, systems that are actually POSIX-compliant would not accept these underscored names, and it is more portable to just turn off the warning instead.
Although the product originated as an IDE for the C programming language, for many years the compiler’s support for that language conformed only to the original edition of the C standard, dating from 1989, but not the C99 revision of the standard. There had been no plans to support C99 even in 2011, more than a decade after its publication.[61]
Visual C++ 2013 finally added support for various C99 features in its C mode (including designated initializers, compound literals, and the _Bool
type),[62] though it was still not complete.[63] Visual C++ 2015 further improved the C99 support, with full support of the C99 Standard Library, except for features that require C99 language features not yet supported by the compiler.[64]
Most of the changes from the C11 revision of the standard were still not supported by Visual C++ 2017.[65] For example, generic selections via the _Generic
keyword are not supported by the compiler and result in a syntax error.[66]
The preprocessor was overhauled in 2018, with C11 in sight:[67]
Full C11 conformance is on our roadmap, and updating the preprocessor is just the first step in that process. The C11
_Generic
feature is not actually part of the preprocessor, so it has not yet been implemented. When implemented I expect the feature to work independently of if the traditional or updated preprocessor logic is used.
_Generic
support has been committed to MSVC as of February 2020.[68]
In September 2020, Microsoft announced C11 and C17 standards support in MSVC would arrive in version 16.8.[69] This did not include optional features but Microsoft indicated that they were planning to add support for atomics and threads at a later date. In version 17.5, partial (since atomic locks are missing) and experimental (meaning hidden behind the compiler flag /experimental:c11atomics
) support for atomics was added[70] and in version 17.8, support for threads was added, this time not behind a compiler flag.[71][72]
With default settings MSVC does not do two-phase name lookup which prevents it from flagging a wide range of invalid code. Most checks are deferred to template instantiation. More recent versions remedy this behavior, but it needs to be enabled by the command-line option /permissive-
.[73]
Describing it as «excellent», BYTE in February 1989 approved of Microsoft C 5.1’s OS/2 support, QuickC for interactive development, and CodeView debugger. Although Watcom C produced slightly faster code, the magazine said that developers «might still prefer Microsoft’s friendlier and more powerful tools».[74]
- ^ a b «Visual C++ adds Windows support». InfoWorld. February 22, 1993. p. 17.
- ^
- ^ «Do I need these Microsoft Visual C++ redistributables?». Ask Leo!. Retrieved 2012-11-18.
- ^ Computer Language — Issue 06 (1985-02)(CL Publications)(US). February 1985.
- ^ Leibson, Steve (1985-02-01). «Software Reviews: Expert team analyzes 21 C compilers». Computer Language. Retrieved 2020-06-05.
- ^ Ladd, Scott Robert (August 1, 1990). «Optimizing With Microsoft C 6.0».
- ^ Myers, Ben (1992-07-01). «Microsoft C/C++». PC Magazine. Ziff Davis. p. 387. Retrieved 2023-12-21.
- ^ «News/Software Pipeline Announced». InfoWorld. InfoWorld Media Group. 1993-03-15. Retrieved 2023-12-21.
- ^ Retrieved from http://support.microsoft.com/kb/196831.
- ^ a b «Visual C++ is a strong development tool». InfoWorld. 1993-06-21. p. 94. Retrieved 2025-04-07.
- ^ «Rival DOS Extenders debut at show». InfoWorld. March 1, 1993. p. 18.
- ^ «Visual C++ 1.5 integrates OLE, ODBC». InfoWorld. November 8, 1993. p. 5.
- ^ «Microsoft set to prerelease 32-bit Visual C++». InfoWorld. July 19, 1993. p. 12.
- ^ «C++ IDEs evolve». InfoWorld. April 4, 1994. p. 79.
- ^ «Microsoft Visual C++ Strategy».
- ^ a b Cullens, Chane; Blackwell, Ken (1995). Cross-Platform Development Using Visual C++. M&T Books. ISBN 1-55851-428-7. Retrieved 27 January 2024.
- ^ Plamondon, James (9 October 1997). «Generalized Evangelism Timeline» (PDF). Microsoft Corporation. Archived from the original (PDF) on 2007-02-02. Retrieved 27 January 2024.
- ^ a b «Obsolete Products». Archived from the original on 2005-08-14.
- ^ Toth, Viktor (1996). «1». Visual C++ 4.0 unleashed. Indianapolis: SAMS Publishing. ISBN 9780672308741. Retrieved 26 July 2013.
- ^ «History of Visual Studio (Part 3)». 6 August 2021.
- ^ «Major Changes from Visual C++ 4.0 to 4.2». Archived from the original on 2010-02-28. Retrieved 2018-04-18.
- ^ «Major Changes from Visual C++ 4.2 to 5.0».
- ^ «Microsoft Visual C++ 5.0 Learning Edition». Microsoft. Archived from the original on April 27, 1999.
- ^ «Microsoft Visual C++ 5.0 Professional Edition». Microsoft. Archived from the original on April 27, 1999.
- ^ «Microsoft Visual C++ 5.0 Enterprise Edition». Microsoft. Archived from the original on April 17, 1999.
- ^ «Microsoft Visual C++ 5.0 RISC Edition». Microsoft. Archived from the original on April 29, 1999.
- ^ Shields, Nathan P. (June 8, 2018). «Criminal Complaint». United States Department of Justice. p. 128.
This alone is not a dispositive link, as Visual C++ 6.0, released in 1998, still has proponents mostly because it does not require the installation of Microsoft’s .NET framework in order to run, as later versions of Visual C++ do.
- ^ «Major Changes from Visual C++ 5.0 to 6.0». Archived from the original on September 14, 2008.
- ^ This page stresses that Users must also be running Windows 98, Windows NT 4.0, or Windows 2000. Retrieved from http://msdn2.microsoft.com/en-us/vstudio/aa718349.aspx.
- ^ 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 Archived 2013-02-11 at archive.today
- ^ How to: Modify WINVER and _WIN32_WINNT
- ^ Breaking Changes
- ^ Windows Platforms (CRT)
- ^ «Visual C++ 2008 Breaking Changes». 25 May 2023.
- ^ Visual C++ Team Blog. «IntelliSense, part 2: The Future». Retrieved March 12, 2008.
- ^ «Why IntelliSense is not supported for C++/CLI in Visual Studio 2010». Retrieved March 13, 2011.
- ^ Visual C++ Team Blog (27 May 2009). «Rebuilding Intellisense».
- ^ Visual C++ Team Blog. «Visual C++ Code Generation in Visual Studio 2010».
- ^ «C++0x Core Language Features In VC10: The Table».
- ^ «Stephan T. Lavavej: Everything you ever wanted to know about nullptr».
- ^ Microsoft Windows SDK Blog. «Released: Windows SDK for Windows 7 and .NET Framework 4».
- ^ FIX: Visual C++ compilers are removed when you upgrade Visual Studio 2010 Professional or Visual Studio 2010 Express to Visual Studio 2010 SP1 if Windows SDK v7.1 is installed
- ^ «What’s New for Visual C++ in Visual Studio 2012». Microsoft Developer Network. Microsoft. 29 November 2012. Retrieved September 20, 2015.
- ^ «What’s New for Visual C++ in Visual Studio 2013». Microsoft Developer Network. Microsoft. 28 April 2015. Retrieved September 20, 2015.
- ^ Eric Battalio (July 20, 2015). «Visual Studio 2015 RTM Now Available». Visual C++ Team Blog. Microsoft.
- ^ Stephan T. Lavavej (June 19, 2015). «C++11/14/17 Features In VS 2015 RTM». Visual C++ Team Blog. Microsoft.
- ^ Reviewing Microsoft’s Automatic Insertion of Telemetry into C++ Binaries
- ^ «Visual Studio adding telemetry function calls to binary? • /r/cpp». reddit. 7 May 2016. Retrieved 2016-08-17.
- ^ Julia Liuson (March 7, 2017). «Announcing Visual Studio 2017 General Availability… and more». Visual Studio Team Blog. Microsoft.
- ^ Amanda Silver (February 14, 2019). «Join us April 2nd for the Launch of Visual Studio 2019!». Visual Studio Team Blog. Microsoft.
- ^ Amanda Silver (November 8, 2021). «Visual Studio 2022 now available». Visual Studio Team Blog. Microsoft.
- ^ «Pre-defined Compiler Macros / Wiki / Compilers». dev.to. 22 May 2018. Retrieved 2023-02-20.
- ^ «Predefined Macros / Microsoft Learn». learn.microsoft.com. 8 August 2022. Retrieved 2023-05-26.
- ^ Microsoft MSDN: Breaking Changes in Visual C++
- ^ Microsoft MSDN: Containers (Modern C++)
- ^ Microsoft MSDN: Portability At ABI Boundaries (Modern C++)
- ^ Microsoft forum: Binary compatibility across Visual C++ versions Archived 2013-02-16 at archive.today
- ^ docs.microsoft.com: C++ binary compatibility between Visual Studio 2015, 2017, and 2019
- ^ a b C Run-Time Libraries
- ^ «Compatibility». Microsoft: CRT library features. 26 October 2022.
- ^ «C99 support». Microsoft Connect. Archived from the original on 2016-03-04. Retrieved 2015-09-21.
- ^ «What’s New for Visual C++ in Visual Studio 2013». Microsoft Developer Network. Microsoft. 28 April 2015.
- ^ Pat Brenner (July 19, 2013). «C99 library support in Visual Studio 2013». Visual C++ Team Blog. Microsoft.
- ^ «What’s New for Visual C++ in Visual Studio 2015». Microsoft Developer Network. Microsoft. 3 January 2018.
- ^ «Walkthrough: Compile a C program on the command line». Visual C++ Documentation. Microsoft. 10 May 2022.
- ^ «MSVC 2017 does not support _Generic (type generic macros) in C».
- ^ Luvsanbat, Bat-Ulzii (July 6, 2018). «MSVC Preprocessor Progress towards Conformance». Visual Studio Team Blog. Microsoft. Archived from the original on 3 Mar 2024.
- ^ «C++20 Features and Fixes». reddit. July 3, 2020.
- ^ «C11 and C17 Standard Support Arriving in MSVC». September 14, 2020.
- ^ «C11 Atomics in Visual Studio 2022 version 17.5 Preview 2». 2022-12-13.
- ^ «C11 Threads in Visual Studio 2022 version 17.8 Preview 2». 2023-09-26.
- ^ Murphy, Adrian (2023-11-14). «Visual Studio 17.8 now available!». Visual Studio Blog. Retrieved 2024-01-12.
- ^ «Two-phase name lookup support comes to MSVC». 2017-09-11.
- ^ Apiki, Steven; Udell, Jon (February 1989). «Smoothing Out C». BYTE. pp. 170–186. Retrieved 2024-10-08.
- Johnson, Brian (8 August 2004). «Building Win32 Applications Using Visual C++ 2005 Express». Brian Johnson’s Startup Developer Blog. Microsoft – via Microsoft Docs Archive.
- Springfield, Jim (25 September 2015). «Rejuvenating the Microsoft C/C++ Compiler». C++ Team Blog. Microsoft.
- Official website
- C++ Tools and Features in Visual Studio Editions
- Microsoft C++ Build Tools
- C9::GoingNative on Microsoft Channel 9
Microsoft Visual C++ (или просто VC++) – интегрированная среда разработки (IDE) и набор инструментов для создания приложений на языке программирования C++. Одно из самых популярных и мощных решений для разработки ПО под платформу Windows. Входит в Visual Studio.
Visual C++ — основные возможности и предназначение
Содержание
- Visual C++ — основные возможности и предназначение
- Проекты и решения
- Автоматизация сборки
- Интеграция и взаимодействие
- Библиотеки и фреймворки Visual C++
- Инструмент в составе Visual Studio
- Зачем использовать Microsoft Visual C++
Visual C++ включает редактор кода с подсветкой синтаксиса, отладчик, инструменты для анализа кода и многое другое. Облегчает процесс написания, отладки и сопровождения. Мощный компилятор преобразует исходный код на C++ в исполняемые файлы или библиотеки. В состав инструментов входят различные средства для сборки проектов, которые позволяют автоматизировать процесс и упростить управление зависимостями.
Проекты и решения
Visual Studio использует понятие «проекта» (Project) для организации отдельных модулей вашего приложения. Несколько проектов могут быть объединены в «решение» (Solution), что удобно для работы с многокомпонентными приложениями. Файлы проекта Visual C++ имеют расширение .vcxproj. Содержат информацию о структуре проекта, в том числе — используемых компиляторных параметрах и зависимостях. Редактировать данные файлы вручную обычно не требуется, так как Visual Studio предоставляет удобный интерфейс для управления параметрами.
Автоматизация сборки
Visual C++ использует систему сборки MSBuild для автоматизации процесса сборки проектов. MSBuild обрабатывает файлы .vcxproj. Управляет компиляцией и сборкой, а также зависимостями между проектами в решении. Visual Studio позволяет настраивать различные параметры сборки проекта, такие как тип конфигурации (Debug или Release), платформа (например: x86, x64 и ARM), оптимизации компилятора, включаемые и исключаемые файлы. Такие параметры можно настроить через интерфейс Visual Studio или непосредственно в файлах проекта.
Интеграция и взаимодействие
Visual C++ тесно интегрирован с другими продуктами и технологиями от Microsoft, такими как Windows API, .NET Framework, DirectX и многими другими. В итоге, разработчики могут создавать мощные и высокопроизводительные приложения, которые взаимодействуют с различными сервисами и платформами. Microsoft предоставляет различные библиотеки и фреймворки для разработки приложений на C++, такие как Microsoft Foundation Classes (MFC), Active Template Library (ATL), и другие. Помогают ускорить разработку, поскольку предоставляют готовые компоненты и функции.
Библиотеки и фреймворки Visual C++
Понимание различий между библиотеками и фреймворками в контексте Microsoft Visual C++ является ключевым для эффективного использования данных инструментов при разработке приложений. Библиотеки (или библиотеки классов) — наборы предварительно написанных и скомпилированных функций и компонентов, которые можно использовать в своем коде для выполнения конкретных задач.
Обычно предоставляют API (Application Programming Interface), через который вы можете вызывать встроенные туда функции и методы. Примером классической библиотеки, где функционал состоит только из набора функций и классов, без определенной архитектуры или интерфейсов, может быть модуль для работы с математическими операциями. Например, для работы с векторами и матрицами.
#include <iostream>
#include <vector_library.h>
int main() {
// Использование функций из библиотеки для работы с векторами
Vector3D vector1(1, 2, 3);
Vector3D vector2(4, 5, 6);
Vector3D sum = vector1 + vector2;
std::cout << "Sum of vectors: (" << sum.x << ", " << sum.y << ", " << sum.z << ")" << std::endl;
return 0;
}
Здесь библиотека vector_library.h содержит объявления класса Vector3D и функций для работы с векторами. Данный код создает два трехмерных вектора, которые складывает, а результат выводит на экран. Затем завершает работу программы.
Фреймворком называют более полный набор инструментов, библиотек и шаблонов. Предоставляет структуру и архитектуру для разработки ПО. Определяет основные концепции и потоки работы. Облегчает труд программиста за счет предварительной настройки и стандартизации процесса разработки. Типичный пример — MFC (Microsoft Foundation Classes). Применяется для создания софта под Windows с использованием Visual C++. Содержит набор классов и функций для графических пользовательских интерфейсов, работы с файлами и т. д.
#include <afxwin.h>
class CMyApp : public CWinApp {
// ...
};
class CMainWindow : public CFrameWnd {
// ...
};
int main() {
CMyApp myApp;
CMainWindow mainWindow;
// ...
return myApp.Run();
}
Таков простой пример использования классов и функций из библиотеки MFC (Microsoft Foundation Classes) для создания графического приложения под ОС Windows. В первой строке подключается заголовочный файл , который содержит объявления классов и функций из фреймворка MFC. Затем определяются два пользовательских класса: CMyApp и CMainWindow. CMyApp наследуется от CWinApp, который предоставляет базовую функциональность для программы. CMainWindow наследуется от CFrameWnd, который представляет оконное приложение с рамкой.
В функции main() создаются объекты классов CMyApp и CMainWindow: myApp и mainWindow соответственно. Далее вызывается метод Run() объекта myApp, который запускает главный цикл сообщений приложения и начинает его выполнение. В реальном приложении внутри класса CMainWindow обычно добавляются методы и свойства для создания пользовательского интерфейса, обработки событий и взаимодействия с пользователем.
Библиотеки содержат конкретные функции и компоненты для выполнения определенных задач. Обеспечивают программисту большую степень гибкости и свободы в организации кода. Полезны для малых или средних проектов. Тем временем, фреймворки предлагают более высокий уровень абстракции и структуру для разработки приложений. Могут быть более ограничивающими, зато облегчают стандартизацию и упрощают процесс создания ПО. Зачастую используются для крупных проектов, где в приоритете поддержание единой архитектуры. Позволяют сократить затраты времени и усилий на создание софта для операционных систем Microsoft.
Читайте в «Блоге системного администратора», как установить Windows 11 практически на любой комп:
Инструмент в составе Visual Studio
Visual Studio — комплекс инструментов разработчика от Microsoft. Предназначен для создания различных типов приложений. Помимо Visual C++, туда также включено множество других решений. Рассмотрим основные:
- Visual Basic .NET — это язык программирования, который является одним из ключевых компонентов комплекса. Обладает простым синтаксисом и широкими возможностями для разработки приложений под платформу .NET.
- C# (C-Sharp) — еще один популярный язык программирования. Обладает сильной типизацией. Синтаксис похож на языки C и C++. Известен широким спектром возможностей для разработки приложений.
- F# — функциональный язык программирования. Предоставляет инструменты для функционального программирования. Обладает богатыми возможностями для работы с параллельным и асинхронным кодом.
- Инструменты для разработки веб-приложений с использованием технологии ASP.NET. Включают в себя возможности для создания веб-сайтов, веб-служб и других типов ПО.
- Интеграция с платформой Microsoft Azure обеспечивает инструменты для разработки облачных приложений. В том числе реализованы возможности для развертывания и управления облачными ресурсами.
- Поддержка разработку игр с использованием популярного движка Unity. Предусмотрена интеграция с Unity Editor и возможности для создания скриптов на C# для управления поведением игровых объектов.
Зачем использовать Microsoft Visual C++
Если планируете создавать приложения для операционных систем Windows, то Visual C++ является одним из лучших инструментов благодаря глубокой интеграции с платформой. Известен высокой производительностью и эффективностью использования ресурсов компьютера. С Visual C++ вы сможете создавать программы, которые работают быстро и эффективно. Будете легко управлять низкоуровневыми ресурсами компьютера — в том числе: памятью, файловой системой, устройствами ввода-вывода, что может быть полезно при создании системных приложений или игр.
Вокруг данной среды существует огромное сообщество разработчиков, готовых помочь и поделиться опытом. Кроме того, Microsoft предоставляет обширную документацию и ресурсы для обучения, что делает процесс изучения и использования данного инструмента более доступным.
Какой язык программирования был для вас первым? Напишите в комментариях.
0
0
голоса
Рейтинг статьи
Microsoft Visual C++ Redistributable – это один из тех пакетов, без которых на вашем компьютере не запустится большинство игр. Он содержит библиотеки, которые позволяют запуститься программам, в разработке которых была использована среда Microsoft Visual C++, известная так же как MSVC. К таким приложениям относится большинство игр на Windows, потому наличие данного пакета необходимо.
Игры, как правило, загружают необходимые файлы по завершении установки, однако в работе пакета Microsoft Visual C++ могут случаться сбои, вызванные установкой пиратского ПО или активностью вредоносных программ. В таком случае необходимо скачать Microcoft Visual C++ Redistributable с официального сайта, следуя инструкциям из этой статьи.
Нужны ли старые версии Visual C++?
В интернете часто задают вопрос, нужны ли на компьютере все версии библиотек Microsoft Visual C++, или почему они не обновляются до последней, удаляя все предыдущие. Ответим, что удалять их не стоит, особенно если вы не хотите сталкиваться с проблемой невозможности запуска одной из ранее установленных игр после удаления старой версии Visual C++.
Если вы видите подобную картину в списке установленных программ, то лучшим решением будет просто пролистать этот список и не трогать его.
Не спешите удалять и 32-разрядные версии пакетов (с пометкой х86), даже если пользуетесь 64-разрядной Windows (x64). Их могут использовать установленные программы и игры!
Как скачать Microsoft Visual C++
Как и другие компоненты, разрабатываемые Microsoft, клиентскую часть продукта (то есть, Redistributable Package или Распространяемые пакеты), можно бесплатно скачать на официальном сайте. Использовать для их загрузки сторонние сайты не рекомендуется.
Чтобы установить Microsoft Visual C++ Redistributable Package, необходимо определиться с версией и скачать дистрибутивы. На данный момент самыми распространенными считаются версии 2010 и 2012 года, кроме того, для более новых приложений может потребоваться версия 2015. Поскольку эти библиотеки занимают не слишком много места, рекомендуется иметь Microsoft Visual C++ версий 2008, 2010, 2012, 2013 и 2015, независимо от того, установлены ли требующие их наличия программы.
Стоит учесть, что ранние версии Windows 7 и Windows XP не поддерживают Microsoft Visual C++ Redistributable 2012 и выше.
Файлы установки Microsoft Visual C++ для Windows вы можете скачать по следующим ссылкам:
- Microsoft Visual C++ 2008 х86 (для 32-разрядных систем)
- Microsoft Visual C++ 2010 х64 (для 64-разрядных систем)
- Microsoft Visual C++ 2010 х86 (для 32-разрядных систем)
- Microsoft Visual C++ 2012
- Microsoft Visual C++ 2013
- Microsoft Visual C++ 2015
Версия 2015 года еще не является окончательной, но уже используется для ряда новейших игр и программ.
Дистрибутивы, предназначенные для Windows x64, несовместимы с 32-разрядными системами.
Переустановка библиотек Visual C++
Переустановка может потребоваться в случае возникновения проблем (например, отсутствие msvcr100.dll) с целостностью и правильной работой библиотек. В случае неполадок в работе необходимой версии пакета Microsoft Visual C++ игра или программа не запустится, выдавая сообщение об ошибке.
Если на компьютере установлены все необходимые пакеты, а игра все равно не запускается, необходимо:
- Удалить версию, с которой возникли неполадки. Можно использовать как вкладку «Установка и удаление программ» в Панели инструментов, так и стороннее ПО.
- Перезагрузить компьютер.
- Скачать дистрибутив Visual C++ по одной из перечисленных выше ссылок.
- Установить пакет, следуя инструкциям программы установки.
- Перезагрузить компьютер.
Перезагрузка Windows необходима для корректной установки компонента.
Наличие большинства версий Microsoft Visual C++ Redistributable и их своевременное обновление необходимо для корректной работы игр и приложений. Если установлены все необходимые версии, а игра все равно не запускается – проблема может заключаться в необходимости обновления .NET Framework, DirectX или PhysX.
Все способы:
- Скачать Microsoft Visual C++ Redistributable
- Выполнение приложений
- Динамическая связка
- Регистрация библиотек
- Достоинства
- Недостатки
- Скачать Microsoft Visual C++ Redistributable бесплатно
- Вопросы и ответы: 6
Скачать Microsoft Visual C++ Redistributable
Загрузить пакет Microsoft Visual C++ 2017 с официального сайта
Загрузить пакет Microsoft Visual C++ 2015 Update 3 с официального сайта
Загрузить пакет Microsoft Visual C++ 2013 с официального сайта
Загрузить пакет Microsoft Visual C++ 2012 Update 4 с официального сайта
Распространяемый пакет Microsoft Visual C++ — это набор компонентов и плагинов, нужных для старта приложений в среде ОС Windows, разработанных средствами интегрированный среды Microsoft (MS) Visual C++, входящей в состав Visual Studio (VS). Среди таких программ как множество системных утилит, так и игр, полюбившихся тысячам пользователям.
Выполнение приложений
Распространяемый пакет Microsoft Visual C++ позволяет выполнять приложения, созданные с помощью Visual Studio — интегрированной среды программной разработки от компании Microsoft. Данный функционал разработан для того, чтобы обычным пользователям не нужно было устанавливать сложный программный комплекс VS, чтобы запускать приложения, разработанные в данной среде. Среди них программы, состоящие из компонентов: C++, MFC (Microsoft Foundation Classes), CRT, C++ AMP, а также OpenMP.
Динамическая связка
Также в состав основных функций MS Visual C++ Redistributable входит динамическая связка компонентов системы с библиотеками Visual C++, необходимых при выполнении того или иного приложения. Иными словами, подобная компоновка позволяет некому исполняемому файлу по своим нуждам использовать ресурсы и вызывать функции VC++, расположенные в отдельном файле, по вызову компонентов системы.
Регистрация библиотек
Распространяемые пакеты выполняют функцию установки и регистрации библиотек Visual C++. К тому же, каждый подобный пакет при установке проверяет, установлена ли на компьютере более свежая версия продукта, и, если таковая находиться, пакет не инсталлируется и в системе используется набор библиотек из более новой сборки продукта.
Достоинства
- Элементарный процесс инсталляции;
- Сборка всех нужных компонентов и библиотек в одном пакетном установщике;
- Регистрация библиотек С++ без установки среды разработки;
- Постоянное обновление пакетов разработчиками.
Недостатки
- Пакеты, так же, как и обновления, занимают определенное место на диске;
- В зависимости от конфигурации системы и пакета установки, процесс инсталляции распространяемого пакета может занять некоторое время.
Распространяемый пакет Microsoft Visual C++ довольно удобный и практический инструмент, созданный для упрощения работы обычных пользователей, для которых установка целого комплекса VS является сложной и недоступной вещью.
Скачать Microsoft Visual C++ Redistributable бесплатно
Выбрав локализацию пакета, соответствующую языку вашей операционной системы, на следующем этапе скачивания не забудьте указать правильную разрядность — 32 или 64 bit (x86 и x64, соответственно).
Наша группа в TelegramПолезные советы и помощь
Table of contents
- What Is Microsoft Visual C++ Redistributable?
- Redistributable
- Visual C++
- What Does Microsoft Visual C++ Do?
- Why Do I Have So Many Microsoft Visual C++ Installed
- How to Use Microsoft Visual C++ Redistributable
- What Happens if I Delete Microsoft Visual C++ Redistributable?
- What if There Is Something Wrong with Microsoft Visual C++ Redistributable?
- Solution 1: Use Auslogics BoostSpeed to Resolve the Problem
- Solution 2: Back Up Before Troubleshooting Microsoft Visual C++ Redistributable
- Solution 3: Update Your Operating System
- Solution 4: Run an SFC Scan
- Solution 5: Reinstall Microsoft Visual C++ Redistributable
- How to Check Microsoft Visual C++ Version
- Method 1: Use the Command Prompt
- Method 2: Use Control Panel
- Conclusion
- FAQ
The Microsoft Visual C++ Redistributable plays a vital role in Windows programs. Its main purpose is to ensure that programs written in the Microsoft Visual C++ programming language run smoothly on your computer. Microsoft Visual C++ Redistributable contains code developed, tested, supported, and updated by Microsoft, which makes this package a reliable option for both software developers and users. But why are there multiple Microsoft Visual C++ versions ? And what does Microsoft Visual C++ do? Let’s find out.
What Is Microsoft Visual C++ Redistributable?
What is Microsoft Visual C++? Before we define it, let’s first clarify what each term in “Microsoft Visual C++ redistributable” means.
Redistributable
There are two primary types of software distribution: online installers and redistributables.
Online installers are small because you must download them when running the application.
In other words, online installers don’t come with application data. This method ensures that only the data your system needs is downloaded.
However, redistributable files include all data required for installation. One benefit of them is that they don’t need an internet connection to function.
Visual C++ follows this method, often including these redistributables with other applications that depend on them.
Visual C++
Microsoft Visual C++ is a code compiler for the C programming language family, supporting C, C++, and C++/CLI code.
Many programs, especially those written in C within the Microsoft Visual Studio development environment, rely on a standard software library.
The software can’t function without these libraries.
The Microsoft Visual C++ Redistributable comes into play since most users need help installing the full Visual Studio development suite on their PCs.
It can be combined with the installer to provide seamless operation without requiring users to install the entire Visual Studio suite.
It contains the essential libraries required for a specific program.
What Does Microsoft Visual C++ Do?
The Microsoft Visual C++ Redistributable works by giving programs created with Microsoft Visual C++ the required libraries and components.
When installing Visual C++ software, the Redistributable first ensures the program’s necessary version is installed on your computer.
It notifies you and asks you to take the right steps if it’s corrupted or missing.
After getting the necessary version, the Redistributable adds essential runtime elements (such as DLL files) to different system folders.
You can find the code necessary for correct program execution in these components.
The specific application searches the system for the necessary runtime components when you launch it. The software operates as intended after it has been found.
The package makes sure that programs can access their right Redistributable versions without any issues when separate apps require different versions.
Why Do I Have So Many Microsoft Visual C++ Installed
It’s no accident that there are multiple Microsoft Visual C++ versions installed on your computer. This might seem suspicious and even lead you to believe something is wrong with your operating system. You might even think that your PC is infected with malware. But it’s not. Windows comes with several versions of Visual C++ since they help your operating system work as it should. The specific versions of Microsoft Visual C++ Redistributable depend on what edition and bit version of Windows you use. For example, if you have a 64-bit version of Windows, you’ll see 64-bit and 32-bit redistributables. However, if you have a 32-bit version of Microsoft’s operating systems, there are only 32-bit redistributables available. This means a 32-bit version of Windows can run only 32-bit applications. Other redistributables come with specific programs that need those packages to perform their functions on your Windows-based device. Most often, such redistributables are downloaded from Microsoft during the installation of some program. Sometimes, they come bundled with the app installer you want to use. Another point is that Microsoft regularly updates the redistributables without combining them into larger packages, resulting in many versions of Visual C++ Redistributable on your PC.
How to Use Microsoft Visual C++ Redistributable
Microsoft’s redistributable package is plug-and-play.
If a program tells you it needs a version of Visual C++ to work, you only need to download and install it from the official Microsoft page.
There’s nothing else to do on your part. The affected program will automatically start working once it detects the presence of the required C++ files.
You can download the latest version of the Microsoft Visual C++ Redistributable suitable for Visual Studio 2015, 2017, 2019, and 2022.
What Happens if I Delete Microsoft Visual C++ Redistributable?
If you’ve been wondering, “Can I delete Microsoft Visual C++ Redistributable?” we recommend against it.
Of course, you can delete any Microsoft Visual C++ Redistributable items, but the programs that rely on your deleted redistributable may fail to start or run.
Figuring out how much software relies on a certain redistributable might be challenging. So, eliminating some packages may bring about issues with multiple apps.
What if There Is Something Wrong with Microsoft Visual C++ Redistributable?
If you’re experiencing issues with the Microsoft Visual C++ Redistributable, follow the solutions below to fix the problem:
Solution 1: Use Auslogics BoostSpeed to Resolve the Problem
If there’s a problem with Microsoft Visual C++ redistributable, declutter your computer, check it for corrupt or missing system files, clean your Windows Registry, and optimize your computer’s settings.
You can use Auslogics BoostSpeed to carry out these tasks. This tool is a multipurpose program that helps to improve your overall PC performance.
This handy tool will skyrocket the performance of your PC safely and effectively.
Download Auslogics BoostSpeed
Your one-stop PC maintenance and optimization tool, this program will clean, speed up, repair and tweak your system to ensure maximum speed and efficiency.
Solution 2: Back Up Before Troubleshooting Microsoft Visual C++ Redistributable
If you’re sure that Microsoft Visual C++ Redistributable is having issues and you’re willing to deal with them yourself, it’s a good idea to back up your important files first. You can use a cloud drive or an external hard drive to do that. Alternatively, you can migrate your data to another laptop. In addition, it’s better to create a system restore point to roll back your PC to a previous working state in case things go astray. Here’s how to create a system restore point:
Windows 10
- Use the
Windows logo key + S
shortcut to open the search area. - Type
Create a restore point
. - Select System Properties.
- Navigate to Protection settings and select your main system drive.
- Click on the Create button.
- Enter a name for your restore point and click Create.
Windows 11
- Use the
Windows key + X
shortcut to open the Power User menu. - Select Settings.
- Click System and select About.
- In the Related links section under Device specifications, click System protection.
- In the System Properties window, click the Create button.
- Give your restore point a name and click Create.
How to Back Up if There’s a Microsoft Visual C++ Issue
Windows 10
- Open the Start menu. Then go to Control Panel.
- Proceed to System and Security. Select File History.
- Navigate to the Recovery section.
- Select Open System Restore.
- Click Next. Select a desired restore point. Click Next and Finish.
- Then confirm your choice.
Windows 11
- Use the
Windows key + X
shortcut to open the Power User menu. - Select Settings.
- Navigate to System and select About.
- In the Related links section under Device specifications, click System protection.
- This time, click the System Restore button when the System Properties window opens.
- This will launch the System Restore window. Click Next and choose your desired restore point.
- Click Next again and follow the onscreen steps to finish.
Related: How to Back Up and Restore the Windows 10 Registry
Solution 3: Update Your Operating System
After performing a backup, update your system. New updates might be available designed to fix your Microsoft Visual C++ Redistributable.
Here is how to update:
Windows 10
- Press the
Windows logo key + I
shortcut and select Update & Security. - Click Check for updates.
- Once the available updates have appeared, let them come through.
- Finally, restart your PC and see if your issues have been fixed.
Windows 11
- Hold the
Windows key and press X
to load the Power User menu. - Select Settings to launch the settings application.
- Select Windows Update on the main navigation pane.
- Click the Check for updates button.
The system will scan Microsoft servers for available updates and download them. You may be prompted to download and install a specific major update, depending on your update settings.
You likely need to restart your PC to implement all updates, except for the minor patches and application updates.
Related: How to Manually Check and Install Windows Updates
Solution 4: Run an SFC Scan
If your problem with Microsoft Visual C++ Redistributable persists, check your PC for missing or corrupt system files since they might be behind it. Just follow the instructions below to run the built-in System File Checker utility:
- Locate the search area and type
cmd
into it. - Select Command Prompt. Right-click on it and select Run as administrator.
- The Command Prompt window will open. Type
sfc /scannow
.
Wait for the scan to finish – be patient. You shouldn’t abort the process. Then, exit the Command Prompt window, restart your computer, and see if your issue has been resolved.
Solution 5: Reinstall Microsoft Visual C++ Redistributable
If none of the steps above work, reinstall the Microsoft Visual C++ Redistributable package.
Remember to save your progress, close all your apps, and ensure your important data is properly backed up.
Then, open the Control Panel app, enter Programs and Features, locate the problematic Microsoft Visual C++ Redistributable version, and select Uninstall.
Visit Microsoft Download Center and download the latest version from it. Install it on your PC, restart the computer, and check if the problem has been resolved.
Remember that although many versions of Microsoft Visual C++ Redistributable are on your PC, they don’t take much space or slow down your PC.
So, if your computer is slow, C++ redistributables have nothing to do with it. So, if you want to uninstall some of them because your computer is slow, that may not be a good idea.
How to Check Microsoft Visual C++ Version
If you want to know how to check the Microsoft Visual C++ version, there are several ways to do that. Here are a few easy steps to check the Microsoft Visual C++ Redistributable:
Method 1: Use the Command Prompt
- Open the Command Prompt.
- Type
wmic product where "description like 'Microsoft Visual C++%'" get name, version
and pressEnter
.
You’ll see all the Microsoft Visual C++ versions installed on your computer.
Related: Windows Command Prompt: Most Useful Commands
Method 2: Use Control Panel
- Type
Control Panel
and click to open. - Click Programs and select Programs and Features.
- Search for Microsoft Visual C++ Redistributable versions in the list. You’ll find the installed versions on the list.
Related:Windows 10 Control Panel: Where to Find It
Conclusion
Although you can have numerous Microsoft Visual C++ Redistributables , remember that each plays a crucial role in your computer. These redistributables are essential parts that help other apps on your Windows system run well, so you shouldn’t delete them. If you delete them, you can experience problems with several programs and even your operating system’s overall performance. However, if you experience issues with Microsoft Visual C++ , follow the solutions discussed in this guide to resolve the problem.
FAQ
Can I uninstall Microsoft Visual C++?
Yes. You can uninstall the Microsoft Visual C++. However, we don’t recommend deleting it, since it doesn’t take storage space and might cause some programs to not function properly. So there’s no need to delete it.
Which version of Microsoft Visual C++ do I need?
You can know the Microsoft Visual C++ version you need by checking the program specifications or programs you use. Usually, the developer’s website or the software’s manual contains this information. Always install the recommended versions of your applications to prevent compatibility issues.
How can I check if Visual C++ Redistributable is installed?
You can use the Control Panel’s “Apps and Features” or “Programs and Features” section to check if Microsoft Visual C++ Redistributable is installed on your machine. Search for entries that include the version number followed by a name like “Microsoft Visual C++ Redistributable.” If you find them, it means your computer has the redistributable package installed.
Where is Microsoft Visual C++ located?
Microsoft Visual C++ is usually found in the “Program Files” or “Program Files (x86)” folder on your system drive. The precise path could change depending on your Windows version and whether you’re running a 32-bit or 64-bit system. You can search through these folders to find out which exact versions of Visual C++ are installed on your computer.
Why do I have so many Microsoft Visual C++ installed?
It’s normal to have multiple Microsoft Visual C++ installations since different games and applications require different runtime library versions. Each version offers support for specific features and functionalities. Developers include the necessary version with their program to ensure compatibility.