2005, 2008, 2010, 2012, 2013, 2015, 2017, 2019, 2022
Здесь вы сможете скачать распространяемый пакет майкрософт визуал ++ 2005, 2008, 2010, 2012, 2013, 2015, 2017, 2019, 2022 Для Windows 7, 8, 10, 11 x64 x86 (64 -32 бит) все версии включая самые последние как по отдельности так и одним файлом (одним установщиком).
- MS Visual C++ 2005-2019 одним файлом
- MS Visual C++ 2019-2022 одним файлом
Microsoft Visual C ++ необходим для установки и работы программ и игр разработанных на этой платформе.
Обновленный пакет в 2023 году
Что за программа Microsoft Visual C++
Microsoft Visual C++ распространяемый пакет (redistributable package) — это специальная программа, позволяющая запускать программы и игры на компьютере разработанные на языке программирования языке C++ в среде Visual Studio. Другими словами Visual ++ это набор пакетов с данными, которые используют программы при работе на компьютере. Соответственно, когда программа или гра не находит нужный пакет, то появляется ошибка.
Скачать Microsoft Visual C++
На сайте вы сможете скачать распространяемый пакет (redistributable package) в зависимости от версии (пакета) по отдельности: 2005 2008 2010 2012 2013 2015 2017 2019 x64 x86.
Скачать Visual C++ все версии одним файлом
Также можно скачать все версии одним файлом, что позволит быстро установить Visual C++ запустив на установку один файл, который установит все версии Microsoft Visual C++.
При установке данного пакета, все имеющиеся версии будут переустановлены, а не имеющиеся доустановлены. Что позволит не устанавливать каждый пакет по отдельности, а также избежать разных ошибок при установке по отдельности.
Microsoft Visual C++ 2005-2019 одним файлом
- x32+x64 (Сюда входят оба пакета как 32 так и 64 битная)
Если у вас Windows 64 битная, то необходимо устанавливать оба пакета как 32 так и 64 битную.
Если у вас Windows 32 битная, то необходимо устанавливать только 32 битную
Microsoft Visual C++ 2019-2022 одним файлом
- 32 bit (x32)
- 64 bit (x64)
- ARM
Microsoft Visual С 2005
Поддерживаемая операционная система
- 32-разрядная (x86)
- 64-разрядная (x64, WOW)
- ARM
Windows 11, Windows 10; Windows 7 Service Pack 1; Windows 8; Windows 8.1; Windows Server 2003 Service Pack 2; Windows Server 2008 R2 SP1; Windows Server 2008 Service Pack 2; Windows Server 2012; Windows Vista Service Pack 2; Windows XP Service Pack 3
- 32 бит
- 64 бит
Если у вас Windows 64 битная, то необходимо устанавливать оба пакета как 32 так и 64 битную.
Если у вас Windows 32 битная, то необходимо устанавливать только 32 битную
Microsoft Visual С 2008
Поддерживаемая операционная система
- 32-разрядная (x86)
- 64-разрядная (x64, WOW)
- ARM
Windows 11, Windows 10; Windows 7 Service Pack 1; Windows 8; Windows 8.1; Windows Server 2003 Service Pack 2; Windows Server 2008 R2 SP1; Windows Server 2008 Service Pack 2; Windows Server 2012; Windows Vista Service Pack 2; Windows XP Service Pack 3
- 32 бит
- 64 бит
Если у вас Windows 64 битная, то необходимо устанавливать оба пакета как 32 так и 64 битную.
Если у вас Windows 32 битная, то необходимо устанавливать только 32 битную
Microsoft Visual С 2010
Поддерживаемая операционная система
- 32-разрядная (x86)
- 64-разрядная (x64)
- ARM
Windows 7; Windows Server 2003 R2 (32-Bit x86); Windows Server 2003 Service Pack 2; Windows Server 2008 R2; Windows Server 2008 Service Pack 2; Windows Vista Service Pack 2; Windows XP Service Pack 3
- 32 бит
- 64 бит
Если у вас Windows 32 битная, то необходимо устанавливать только 32 битную
Если у вас Windows 64 битная, то необходимо устанавливать оба пакета как 32 так и 64 битную.
Microsoft Visual С 2012
Поддерживаемая операционная система
- 32-разрядная (x86)
- 64-разрядная (x64)
- ARM
Windows 11, Windows 7 Service Pack 1; Windows 8; Windows 8.1; Windows Server 2003; Windows Server 2008 R2 SP1; Windows Server 2008 Service Pack 2; Windows Server 2012; Windows Vista Service Pack 2; Windows XP
- 32 бит
- 64 бит
Если у вас Windows 32 битная, то необходимо устанавливать только 32 битную
Если у вас Windows 64 битная, то необходимо устанавливать оба пакета как 32 так и 64 битную.
Microsoft Visual С 2013
Поддерживаемая операционная система
- 32-разрядная (x86)
- 64-разрядная (x64)
- ARM
Windows 11, Windows 7 Service Pack 1; Windows 8; Windows 8.1; Windows Server 2003; Windows Server 2008 R2 SP1; Windows Server 2008 Service Pack 2; Windows Server 2012; Windows Vista Service Pack 2; Windows XP
- 32 бит
- 64 бит
Если у вас Windows 32 битная, то необходимо устанавливать только 32 битную
Если у вас Windows 64 битная, то необходимо устанавливать оба пакета как 32 так и 64 битную.
Microsoft Visual С 2015
Поддерживаемая операционная система
- 32-разрядная (x86)
- 64-разрядная (x64)
- ARM
Windows 10; Windows 7 Service Pack 1; Windows 8; Windows 8.1; Windows Server 2003 Service Pack 2; Windows Server 2008 R2 SP1; Windows Server 2008 Service Pack 2; Windows Server 2012; Windows Vista Service Pack 2; Windows XP Service Pack 3
- 32 бит
- 64 бит
Если у вас Windows 32 битная, то необходимо устанавливать только 32 битную
Если у вас Windows 64 битная, то необходимо устанавливать оба пакета как 32 так и 64 битную.
Microsoft Visual С 2017
Поддерживаемая операционная система
- 32-разрядная (x86)
- 64-разрядная (x64)
- ARM
Windows 11, Windows 10; Windows 7 Service Pack 1; Windows 8; Windows 8.1; Windows Server 2003 Service Pack 2; Windows Server 2008 R2 SP1; Windows Server 2008 Service Pack 2; Windows Server 2012; Windows Vista Service Pack 2; Windows XP Service Pack 3
- 32 бит
- 64 бит
Если у вас Windows 32 битная, то необходимо устанавливать только 32 битную
Если у вас Windows 64 битная, то необходимо устанавливать оба пакета как 32 так и 64 битную.
Microsoft Visual С 2019
Пакет Microsoft Visual C ++ 2019 включает в себя пакеты 2015, 2017, 2019. При установке данного пакета, установленные пакеты 2015 или 2017 будут заменены.
Поддерживаемая операционная система
- 32-разрядная (x86)
- 64-разрядная (x64)
- ARM
Windows 11, Windows 10; Windows 7 Service Pack 1; Windows 8; Windows 8.1
- 32 бит
- 64 бит
Если у вас Windows 32 битная, то необходимо устанавливать только 32 битную
Если у вас Windows 64 битная, то необходимо устанавливать оба пакета как 32 так и 64 битную.
Microsoft Visual С 2022
Пакет Microsoft Visual C ++ 2022 включает в себя пакеты 2015, 2017, 2019. При установке данного пакета, установленные пакеты 2015, 2017, 2019 будут заменены.
Поддерживаемая операционная система
- 32-разрядная (x86)
- 64-разрядная (x64)
- ARM
Windows 11, Windows 10; Windows 7 Service Pack 1; Windows 8; Windows 8.1
- 32 бит
- 64 бит
- ARM
Если у вас Windows 32 битная, то необходимо устанавливать только 32 битную
Если у вас Windows 64 битная, то необходимо устанавливать оба пакета как 32 так и 64 битную.
Ошибки при установке Microsoft Visual C++
При установке Visual C++ могут встречаться разные ошибки. Рассмотрим способы их устранения
0x80070666 — смотреть решение
FAQ
Как установиить Microsoft Visual C
Если у вас Windows 64 битная (x64), то для установки Microsoft Visual C вам необходимо скачать оба файла 32 бит и 64 бит, извлечь файлы из архивов vcredist x86 и vcredist x64, далее запустить и установить последовательно.
Если у вас Windows 32 битной версии (x86), то для установки Microsoft Visual C ++ скачайте только 32 бит, извлеките файл vcredist x86 и запустите его последовательно нажимая далее.
Нужно ли удалять старые версии Microsoft Visual C
Нет не нужно, так как при установке Microsoft Visual C++ сам удаляет старые версии и вместо них устанавливает новые.
Как открыть Microsoft Visual C
Microsoft Visual C нельзя открыть это не обычная программа а набор библиотек файлов и пакетов для работы различных программ и игр. Поесть вы не найдете ярлыка или файла запуска.
Устанавливаю Microsoft Visual C но программы не запускаются
Попробуйте полностью удалить все версии Microsoft Visual C через панель Установки и удаления программ и установите все версии по отдельности, начиная с 2005 по 2019.
Не удаляется Microsoft Visual C
Если Microsoft Visual C++ не удаляется стандартным способом через Пане управления — Установка и удаление программ то воспользуйтесь утилитой для принудительного удаления программ MicrosoftFixit.ProgramInstallUninstall. Скачать ее можно по ссылке https://support.microsoft.com/ru-ru/help/17588/windows-fix-problems-that-block-programs-being-installed-or-removedd
Какую версию удалять Microsoft Visual C если ошибка при запуске программы
Если вы не знаете наверняка какая версия Microsoft Visual C повреждена то попробуйте поочередно устанавливать все версии начиная с 2005
Какой версии Microsoft Visual C не хватает
Для того чтобы понять какой версии не хватает для работы программы или игры, зайдите в Панель управления- Установка и удаление программ и посмотрите какие версии уже установлены и каких нет. Доустановите те версии которых нет в списке установленных программ.
Ошибка при установке Microsoft Visual C
Если при установке Microsoft Visual C++ вы получаете ошибку, то попробуйте удалить вручную ту версии которую устанавливаете через программу MicrosoftFixit.ProgramInstallUninstall. Скачать ее можно по ссылке https://support.microsoft.com/ru-ru/help/17588/windows-fix-problems-that-block-programs-being-installed-or-removedd. После удаления перезагрузите компьютер.
Microsoft Visual C++ Redistributables are a package of libraries (files and resources) necessary for running programs developed with Microsoft Visual C++. These components include the C Runtime (CRT), Standard C++, MFC, C++ AMP, and OpenMP libraries. Without these components, Visual C++ programs wouldn’t be able to access resources to run properly.
The relationship between the Visual C++ Redistributables package and the programs that rely on it is similar to the relationship between a car and the gasoline it needs to run: without the fuel, the car won’t go anywhere. Similarly, without the correct redistributable package, the program won’t run. The Visual C++ Redistributables package contains the Visual C++ runtimes that are necessary for programs written with Microsoft Visual C++ to run correctly.
These components are installed when you install Visual Studio, but can also be downloaded separately. If you have an application that requires Visual C++ Redistributables, make sure to install the correct version to function properly.
Microsoft Visual C++ is known for its excellent performance compared to other programming languages like Java. The runtimes are also optimized for speed and efficiency, and have garbage collection, and effective memory management, which helps apps run smoothly.
But the performance of the app also depends on the efficiency of the actual application code. Sometimes, you may stumble across apps that may perform poorly due to inefficient code. You should keep this in mind if you are troubleshooting Visual C++ runtime issues.
Microsoft has released several Visual C++ redistributables over the years. These include 2005, 2008, 2010, 2012, 2013, 2015, 2017, 2019 and 2022. Each version supports applications created with a specific Visual Studio version. For example, applications created with Visual Studio 2010 require Visual C++ 2010 Redistributable. However, since Visual Studio 2015, all versions share the same package files. This means you only need to install a single redistributable to run programs built with Visual Studio 2022, 2019, 2017 and 2015.
Download Visual C++ Redistributables
Name | Version | Architecture | Download | Details |
---|---|---|---|---|
Visual C++ Redistributable 2022 | 17.0 | x64 | Download | More info |
Visual C++ Redistributable 2022 | 17.0 | x86 | Download | |
Visual C++ Redistributable 2019 | 16.0 | x64 | Download | More info |
Visual C++ Redistributable 2019 | 16.0 | x86 | Download | |
Visual C++ Redistributable 2017 | 15.0 | x64 | Download | More info |
Visual C++ Redistributable 2017 | 15.0 | x86 | Download | |
Visual C++ Redistributable 2015 | 13.0 | x64/x86 | Download | More info |
Visual C++ Redistributable 2013 | 12.0 | x64 | Download | More info |
Visual C++ Redistributable 2013 | 12.0 | x86 | Download | |
Visual C++ Redistributable 2012 | 11.0 | x64 | Download | More info |
Visual C++ Redistributable 2012 | 11.0 | x86 | Download | |
Visual C++ Redistributable 2010 | 10.0 | x64 | Download | More info |
Visual C++ Redistributable 2010 | 10.0 | x86 | Download | |
Visual C++ Redistributable 2008 | 9.0 | x64 | Download | More info |
Visual C++ Redistributable 2008 | 9.0 | x86 | Download | |
Visual C++ Redistributable 2005 | 8.0 | x64/x86 | Download | More info |
Further on this page
What is Microsoft Visual C++ Redistributable?
Microsoft Visual C++ Redistributable is a runtime library for running applications that Microsoft developers develop in Visual C++ language.
VC++ Redistributable is just like Java Runtime Environment and .NET Framework. You need to install JRE to run programs developed in Java and .NET Framework to run apps.
When you create certain apps or programs using Visual C++, the redistributable packages are installed automatically. Some developers pre-package the runtime libraries inside their software setups. Alternatively, you can download them manually. I am providing you with the links to download the redistributable packages below.
If you use the same version of Microsoft Visual C++ to create multiple apps, then all the apps created with the same version of Microsoft Visual C++ need only one redistributable package.
When do you need the redistributable?
If you have any software or program that needs the Visual C++ Redistributable, then you must install it. Otherwise, there isn’t any use of the Microsoft VC++ Redistributable.
These packages are not resource-intensive, so the Microsoft Visual C++ Redistributable won’t take up much space on your hard drive.
Note: Visual Studio versions since Visual Studio 2015 share the same redistributable files. This means you only need to install a single redistributable to run programs built with Visual Studio 2022, 2019, 2017 and 2015.
Microsoft Visual C++ 2022 Redistributable
Applications created with Visual Studio 2022 require C++ runtime 2022. If you are prompted with a missing DLL when running an app or program, try installing Visual C++ 2022 from these direct download links:
Here is a list of the supported operating systems for Visual C++ Redistributable 2022:
- Windows 11 21H2 or higher (All editions)
- Windows 10 1909 or higher (Home, Professional, Education, Enterprise)
- Windows Server 2022
- Windows Server 2019
- Windows Server 2016
Microsoft Visual C++ 2019 Redistributable
Applications created with Visual Studio 2019 (Version 16.0) require this redistributable library to be installed in the system. If you have Visual Studio 2019 installed on your system, the runtime library is also installed to run the programs.
Here is a list of the supported operating systems for Visual C++ Redistributable 2019:
- Windows 11 21H2 or higher
- Windows 10 1703 or higher (Home, Professional, Education, Enterprise (LTSC and S are not supported))
- Windows Server 2019
- Windows Server 2016
- Windows 8.1 (Core, Professional, and Enterprise)
- Windows Server 2012 R2 (Essentials, Standard, and Datacenter)
- Windows 7 SP (Home Premium, Professional, Enterprise, Ultimate)
Microsoft Visual C++ 2017 Redistributable
Applications created with Visual Studio 2017 (Version 15.0) require C++ runtime 2017. If you have an application that is giving an error about MSVCR150.dll or MSVCP150.dll missing, you should install this version of Visual C++ 2017 redistributable.
Here is a list of the supported operating systems for Visual C++ Redistributable 2017:
- Windows 11 21H2 or higher
- Windows 10 1507 or higher (Home, Professional, Education, Enterprise (LTSC and S are not supported))
- Windows Server 2016
- Windows 8.1 (Core, Professional, Enterprise)
- Windows Server 2012 R2 (Essentials, Standard, Datacenter)
- Windows 7 SP1 (Home Premium, Professional, Enterprise, Ultimate)
Microsoft Visual C++ 2015 Redistributable
Applications created with Visual Studio 2015 (Version 14.0) require C++ runtime 2015. If you have an application that is giving an error about MSVCR140.dll or MSVCP140.dll missing, you should install this version of Visual C++ 2015 redistributable.
Here is a list of the supported operating systems for Visual C++ Redistributable 2015:
- Windows 11 21H2 or higher
- Windows 10
- Windows 8.1
- Windows Server 2012 R2
- Windows 8
- Windows Server 2012
- Windows Server 2008 R2 SP1 or later
- Windows Server 2008 SP2 or later
Microsoft Visual C++ 2013 Redistributable
Applications created with Visual Studio 2013 (Version 12.0) require C++ 2013 runtime. If you have an application that is giving an error about MSVCR120.dll or MSVCP120.dll missing, you should install this version of Visual C++ 2013 redistributable.
Here is a list of the supported operating systems for Visual C++ Redistributable 2013:
- Windows 11 21H2 or higher
- Windows 10
- Windows 8.1
- Windows Server 2012 R2
- Windows 8
- Windows Server 2012
- Windows Server 2008 R2 SP1 or later
- Windows Server 2008 SP2 or later
Microsoft Visual C++ 2012 Redistributable
Applications created with Visual Studio 2012 (Version 11.0) require C++ runtime 2012. If you have an application that is giving an error about MSVCR110.dll or MSVCP110.dll missing, you should install this version of Visual C++ 2012 redistributable.
Here is a list of the supported operating systems for Visual C++ Redistributable 2012:
- Windows 11 21H2 or higher
- Windows 10
- Windows 8.1
- Windows Server 2012 R2
- Windows 8
- Windows Server 2012
- Windows Server 2008 R2 SP1 or later
- Windows Server 2008 SP2 or later
Microsoft Visual C++ 2010 Redistributable
Applications created with Visual Studio 2010 (Version 10.0) require C++ runtime 2010. If you have an application that shows an error about MSVCR100.dll or MSVCP100.dll missing, you should install this version of Visual C++ 2010 redistributable.
As of July 14, 2020, Visual Studio 2010 Service Pack 1 is no longer supported.
Here is a list of the supported operating systems for Visual C++ Redistributable 2010:
- Windows 11 21H2 or higher
- Windows 10
- Windows 8.1
- Windows 8
- Windows Server 2012 R2
- Windows Server 2012
- Windows Server 2008 R2 RTM or later
- Windows Server 2008 SP2 or later (all editions)
Microsoft Visual C++ 2008 Redistributable
Applications created with Visual Studio 2008 (Version 9.0) require C++ runtime 2008. If you have an application that shows an error about MSVCR90.dll or MSVCP90.dll missing, you should install this version of Visual C++ 2008 redistributable.
As of April 10, 2018, Visual Studio 2008 Service Pack 1 is no longer supported.
Here is a list of the supported operating systems for Visual C++ Redistributable 2008:
- Windows 11 21H2 and later
- Windows 10
- Windows 8
- Windows Server 2008
- Windows XP
- Windows Server 2003
- Windows Server 2008 R2
- Windows 7
- Windows Vista
Microsoft Visual C++ 2005 Redistributable
As of April 12, 2016, Microsoft no longer offers extended support for Visual Studio 2005.
Here is a list of the supported operating systems for Visual C++ Redistributable 2005:
- Windows 11 21H2 and later
- Windows 10
- Windows 8
- Windows Server 2008
- Windows XP
- Windows Server 2003
- Windows Server 2008 R2
- Windows 7
- Windows Vista
All-in-One Visual C++ Installers
If you are not comfortable installing Visual C++ redistributables one by one and want to install all of them, you should try out all-in-one Visual C++ installers. Here we list the best ones:
Visual C++ Redistributable Runtimes All-in-One
Visual C++ Redistributable Runtimes All-in-One comes as a zip file with all versions of VC++ included and a simple batch file. Download it from the link below, unzip it to a folder and run install_all.bat. This will install all the redistributables from version 2005 to 2019.
All the installs are silent and do not require user intervention. The script does not restart Windows by itself. You’ll need to restart the computer once the installation is done.
Download Visual C++ Redistributable Runtimes All-in-One
Visual C++ Runtime Installer (All-In-One) v56
Visual C++ Runtime Installer (All-In-One) is a single executable that includes all Visual C++ libraries built-in.
Download Visual C++ Runtime Installer (All-in-One)
RuntimePack
RuntimePack solves the problem of figuring out which Microsoft Visual C++ Redistributable Package you need as well as numerous DLL and OCX files that might be missing or not properly registered, causing Windows errors.
RuntimePack is a single executable that will install all the VC++ runtimes on your computer.
Download RuntimePack
Visual C++ Redistributable installation guide
Download and install any Visual C++ redistributable runtime library package that is easy. It’s like downloading the setup from below given the direct download links and then running the installer. Every installation step is self-explanatory. You can have multiple redistributable runtime packages installed on your computer.
-
Select your architecture and download the Microsoft Visual C++ Redistributable from the links above.
-
Then open its installer. The window will open and ask you to accept the terms and then click on the Install button.
Begin installation -
The package installation will now begin on your system. Once complete, click Close. If asked to restart the computer, then click Restart.
Restart computer or close the installation wizard
Silent Installation
You can also install Visual C++ Redistributable in silent mode. The installer comes with a “/q” switch that can be used to run the VC++ installer in silent mode using the command line.
There are two ways to run the installer with the “/q” switch. One is to create a shortcut of the downloaded setup file and append “/q /norestart” at the end of the target field in shortcut properties.
The second way is to run the installer from the command line. Here is an example of how I ran the installer in quiet mode:
C:\Users\Usman\Downloads\vc_redist.x64.exe /q /norestart
Uninstall the Visual C++ Packages
The Uninstallation of the Microsoft Visual C++ Redistributable packages is the same as you do with any other program. You can uninstall the packages from Programs and Features. To uninstall the package, follow the steps below:
- Open Apps and Features (Windows key + X + F) [Programs and Features in Windows 7]
- Search for Visual C++
- Select the installed program you want to uninstall
- Press the Uninstall button.
You may want to ask if it is OK to uninstall any Visual C++ package? My answer is simple; uninstall it if it is necessary. Otherwise, leave it, as multiple versions do not take up a lot of disk space and only provide additional functionality when needed.
Can’t Install Visual C++ Redistributable?
If you get the following error while running vc_redist.x64.exe or vc_redist.x86.exe, it means you already have an installation of VC++ pending on your computer. Please uninstall and proceed with the new installation.
Visual C++ 2015 Redistributable Setup Failed 0x80070666
To get past this error, follow the instructions below:
-
Download Visual C++ redistributable again.
-
Run an elevated Command Prompt.
-
Change the directory to the one which has the “vc_redist.x64.exe” file. For example, I downloaded it in my Downloads folder.
cd C:\Users\<Username>\Downloads\
-
Then, run the uninstaller:
vc_redist.x64.exe /uninstall
Has this article answered all the questions you have about Microsoft Visual C++ redistributables? Now is it easy to download packages from one place? We would love to know your thoughts in the comments below
Microsoft Visual C++ Redistributable
Microsoft Visual C++ Redistributables are a package of libraries (files and resources) necessary for running programs developed with Microsoft Visual C++. These components include the C Runtime (CRT), Standard C++, MFC, C++ AMP, and OpenMP libraries. Without these components, Visual C++ programs wouldn’t be able to access resources to run properly.
Price Currency:
USD
Operating System:
Windows
Application Category:
Developer Tools
Pros
- Many Windows applications require these code libraries to run. These libraries are developed, tested, supported, and updated by Microsoft, which makes them a reliable option for both software developers and users.
- Redistributables offer a single installation on a user’s computer that multiple programs can use simultaneously.
Cons
- Not all programs use the same versions of the code libraries, so it is common to have multiple versions installed simultaneously on Windows.
- When programs are updated or uninstalled, they typically do not uninstall the redistributables, and there’s no easy way to know which ones your machine requires.
Search code, repositories, users, issues, pull requests…
Provide feedback
Saved searches
Use saved searches to filter your results more quickly
Sign up
From Wikipedia, the free encyclopedia
Developer(s) | Microsoft |
---|---|
Initial release | February 1993; 30 years ago[1] |
Stable release |
14.37.32822 |
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]
History[edit]
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]
16-bit versions[edit]
- 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. Microsoft Fortran and the first 32-bit compiler for 80386 were also part of this project.
- 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. It added the Programmer’s Workbench IDE, global flow analysis, a source browser, and a new debugger, and included an optional C++ front end.[6]
- C/C++ 7.0 was released in 1992. Dropped OS/2 support. Requires a 386 processor and uses the provided 386-Max dos extender (dosx32). Added built-in support for C++ and MFC (Microsoft Foundation Class Library) 1.0.[7]
- 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[8] 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.[8] The Phar Lap 286 DOS Extender Lite was also included.[9]
- Visual C++ 1.5 was released in December 1993, included MFC 2.5, and added OLE 2.0 and ODBC support to MFC.[10] 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 for the Intel 386 architecture.[11] 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.[12]
- 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).[13]
- Visual C++ 2.1 and 2.2 were updates for 2.0 available through subscription.
- Visual C++ 4.0, released on 1995-12-11,[14] 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[15]—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.[16]
- Visual C++ 4.2 did not support Windows 3.x (Win32s) development.[17] 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,[14] was a major upgrade from 4.2.[18] Available in four editions: Learning,[19] Professional,[20] Enterprise,[21] and RISC.[22]
- 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.[23][24] 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».[25] 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. 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++[26] 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.[27][28] 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.[29][30] 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.[31] However, Visual C++ 2010 does not support Intellisense for C++/CLI.[32] 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,[33] and performance improvements to both the compiler and generated code.[34] 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:[35] 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.[36] 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).[37] 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.[38]
- 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.[39]
- 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.[40]
- Visual C++ 2015 (also known as Visual C++ 14.0) was released on July 20, 2015.[41] It features improved C++11/14/17 support.[42] 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.[43][44] 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.[45]
- Visual C++ 2019 (also known as Visual C++ 14.20) was released on April 2, 2019.[46]
- Visual C++ 2022 (also known as Visual C++ 14.30) was released on November 8, 2021.[47]
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’. You should use the >=
operator to test the value of _MSC_VER
or _MSC_FULL_VER
instead of equality.
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 deduce also 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.
product name | product Version | 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.2 | 16.9.2 | 2019 | 1928 | 192829913 | 14.28 |
Visual Studio 2019 version 16.11.2 | 16.11.2 | 2019 | 1929 | 192930133 | 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 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.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 | ? | 14.35 |
Visual Studio 2022 version 17.6.0 | 17.6.0 | 2022 | 1936 | ? | 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 |
Compatibility[edit]
ABI[edit]
The Visual C++ compiler ABI have historically changed between major compiler releases.[50] This is especially the case for STL containers, where container sizes have varied a lot between compiler releases.[51] 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[52] or COM[53] interfaces, which are designed to have a stable ABI between compiler releases.
All 14.x MSVC releases have a stable ABI,[54] 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.[55] 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.[55]
POSIX[edit]
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.[56] 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.
C[edit]
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.[57]
Visual C++ 2013 finally added support for various C99 features in its C mode (including designated initializers, compound literals, and the _Bool
type),[58] though it was still not complete.[59] 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.[60]
Most of the changes from the C11 revision of the standard are still not supported by Visual C++ 2017.[61] For example, generic selections via the _Generic
keyword are not supported by the compiler and result in a syntax error.[62]
The preprocessor was overhauled in 2018, with C11 in sight:[63]
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, not clear on when it will ship.[64]
In September 2020, Microsoft announced C11 and C17 standards support in MSVC.[65]
C++[edit]
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-
.[66]
References[edit]
- ^ 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».
- ^ Retrieved from http://support.microsoft.com/kb/196831.
- ^ a b «Visual C++ is a strong development tool». InfoWorld. June 21, 1993. p. 94.
- ^ «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 «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)».
- ^ «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». Archived from the original on April 27, 1999.
- ^ «Microsoft Visual C++ 5.0 Professional Edition». Archived from the original on April 27, 1999.
- ^ «Microsoft Visual C++ 5.0 Enterprise Edition». Archived from the original on April 17, 1999.
- ^ «Microsoft Visual C++ 5.0 RISC Edition». 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».
- ^ 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. Retrieved September 20, 2015.
- ^ «What’s New for Visual C++ in Visual Studio 2013». Microsoft Developer Network. Microsoft. 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. Retrieved 2023-02-20.
- ^ «Predefined Macros / Microsoft Learn». learn.microsoft.com. 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.
- ^ «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.
- ^ 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.
- ^ «Walkthrough: Compile a C program on the command line». Visual C++ Documentation. Microsoft.
- ^ «MSVC 2017 does not support _Generic (type generic macros) in C».
- ^ Luvsanbat, Bat-Ulzii (July 6, 2018). «MSVC Preprocessor Progress towards Conformance». Microsoft Developer Network. Archived from the original on 8 Jan 2019.
- ^ «C++20 Features and Fixes». reddit. July 3, 2020.
- ^ «C11 and C17 Standard Support Arriving in MSVC». September 14, 2020.
- ^ «Two-phase name lookup support comes to MSVC». 2017-09-11.
Further reading[edit]
- 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.
External links[edit]
- Official website
- C++ Tools and Features in Visual Studio Editions
- Microsoft C++ Build Tools
- C9::GoingNative on Microsoft Channel 9
Основная масса игр и программ требует установленного Microsoft Visual C++ — без этого пакета приложения просто не запустятся. При этом пользователи будут видеть многочисленные ошибки, так или иначе связанные с MSVC, самая распространённая из которых — runtime library error.
Обычно при установке приложений Microsoft Visual C++ redistributable package устанавливается автоматически, но не исключены и некоторые ошибки, возникающие в процессе инсталляции. В большинстве случаев это связано с использованием контрфактного ПО или с вирусными атаками.
Разновидности пакетов
Существует несколько версий продукта, в том числе и под разные архитектуры. Как и большинство приложений, Microsoft Visual C++ выпускается для систем 32/ 64bit, и рекомендуется использовать полностью совместимый пакет, чтобы исключить возможные ошибки при работе. На ОС х64 может быть установлена как 32-разрядная (x86), так и 64-разрядная (x64) версия, и в большинстве случаев для запуска игр в таких системах требуется наличие обоих пакетов.
Вы можете скачать Microsoft Visual C бесплатно для Windows XP, 7, 8, 8.1,10 и исправить ошибки самостоятельно. Программная среда не занимает много места на жёстком диске, и установка нескольких версий в одну ОС практикуется довольно часто. Это объясняется тем, что старые игры и программы могут корректно работать только под старой версией продукта, а новые, наоборот, требуют обновлённых библиотек.
С чего начать установку Visual C++?
- Нужно определить какая у Вас разрядность системы: 32 или 64 bit. Если у Вас 64bit, то ставим обе версии 32/64, если у Вас система 32bit — ставим только 32
- Зайдите через панель управления в «Программы и компоненты» и посмотрите, какие уже установлены версии Visual C++
- На моём компьютере (автора статьи), установлены полностью все версии. Что и способствует запуску игр как новых так и старых без ошибок
- Устанавливайте все отсутствующие версии начиная с самой первой — 2005, и доходите до последней — 2017. (Если вы не знаете от какой версии файлы, но на нашем сайте всё указано в описании для каждого файла.)
- Установка много времени не займет, только так, вы загрузите все библиотеки DLL
Microsoft Visual C++ 2005
Microsoft Visual C++ 2005 SP1 Redistributable Package (x86)
Скачать Microsoft Visual C++ 2005 для 32 бит
Microsoft Visual C++ 2005 Service Pack 1 Redistributable Package ATL Security Update
Скачать Microsoft Visual C++ 2005 для 64 бит
Microsoft Visual C++ 2008
Microsoft Visual C++ 2008 пакет обновления 1 (SP1) (x86)
Скачать Microsoft Visual C++ 2008 для 32 бит
Microsoft Visual C++ 2008 пакет обновления 1 (SP1) (x64)
Скачать Microsoft Visual C++ 2008 для 64 бит
Microsoft Visual C++ 2010
Распространяемый пакет Microsoft Visual C++ 2010 (x86)
Скачать Microsoft Visual C++ 2010
Распространяемый пакет Microsoft Visual C++ 2010 (x64 — )
Скачать Microsoft Visual C++ 2010
Microsoft Visual C++ 2012
Распространяемый пакет Visual C++ для Visual Studio 2012 Обновление 4
Скачать Microsoft Visual C++ 2012 для 32 бит
Скачать Microsoft Visual C++ 2012 для 64 бит
Microsoft Visual C++ 2013
Распространяемые пакеты Visual C++ для Visual Studio 2013
Скачать Microsoft Visual C++ 2013 для 32 бит
Скачать Microsoft Visual C++ 2013 для 64 бит
Microsoft Visual C++ 2015
Распространяемый компонент Microsoft Visual C++ 2015 Обновление 3
Скачать Microsoft Visual C++ 2015 для 32 бит
Скачать Microsoft Visual C++ 2015 для 64 бит
Microsoft Visual C++ 2017
Скачать Microsoft Visual C++ 2017 для 32 бит
Скачать Microsoft Visual C++ 2017 для 64 бит
Microsoft Visual C++ 2015-2017-2019
Скачать Microsoft Visual C++ для 32 бит
Скачать Microsoft Visual C++ для 64 бит
Скачать Microsoft Visual C++ для ARM64
Microsoft Visual C++ 2015-2017-2019-2022
Скачать Microsoft Visual C++ для 32 бит
Скачать Microsoft Visual C++ для 64 бит
Скачать Microsoft Visual C++ для ARM64
Внимание: Visual C++ 2015, 2017, 2019, 2022 содержат одинаковые распространяемые файлы.
Но есть нюанс, установка на компьютер 2019 версии может повлиять на игры или программы написанные на ранее созданных версия 2015 и 2017. А вот если установить отдельно пакет Visual C++ 2015, то он не заменит файлы более поздних версий. Visual C++ версий 2013 и более ранние, не относятся к данному пункту, т.к у них свои собственные файлы не зависимые друг от друга
Будем рады услышать от Вас отзыв, также поможем при установке компонентов, и в исправлении ошибок. Пишите всё в комментариях, чуть ниже