Руководство по переносу и обновлению Microsoft C++
В этой статье приведено руководство по обновлению кода Microsoft C++ до последней версии Visual Studio. Для проектов, созданных в Visual Studio 2010–2017, просто откройте проект в Visual Studio 2019. Вы можете обновить проект Visual Studio 2008 или более ранних версий в двух шагах. Сначала используйте Visual Studio 2010, чтобы преобразовать проект в формат MSBuild. Затем откройте проект в Visual Studio 2019. Полные инструкции см. в статье Об обновлении проектов C++ из более ранних версий Visual Studio.
Наборы инструментов в Visual Studio 2015, Visual Studio 2017 и Visual Studio 2019 совместимы с двоичными файлами. Теперь можно обновить до более последней версии компилятора, не обновляя зависимости библиотеки. Дополнительные сведения см. в статье о совместимости двоичных файлов C++ между версиями Visual Studio.
При обновлении проектов, использующих библиотеки с открытым исходным кодом или предназначенных для запуска на нескольких платформах, мы рекомендуем перенести проект на основе CMake. Дополнительные сведения см. в проектах CMake в Visual Studio
Причины обновления кода C++
Если устаревшее приложение работает удовлетворительно, в безопасной среде и не находится в активной разработке, может оказаться не так много стимулов для его обновления. Однако рассмотрим обновление в таких случаях: приложению требуется постоянное обслуживание. Кроме того, вы выполняете разработку новых функций или делаете улучшения производительности или безопасности. Обновление приносит следующие преимущества:
- Тот же код может выполняться быстрее, так как мы улучшили оптимизацию компилятора.
- Современные функции C++ и методики программирования устраняют множество распространенных причин ошибок и создают код, который гораздо проще поддерживать, чем старые идиомы в стиле C.
- Время сборки ускоряется из-за улучшений производительности компилятора и компоновщика.
- Лучшее соответствие стандартам. Параметр компилятора /permissive- помогает определить код, который не соответствует текущему стандарту C++. Новый препроцессор также поддерживает соответствие кода.
- Улучшена безопасность во время выполнения, включая более безопасные функции библиотеки среды выполнения C. Кроме того, функции компилятора, такие как защита проверка и санитизаторы адресов (новые возможности Visual Studio 2019 версии 16.4).
Многонацелие и обновление
Возможно, обновление базы кода до нового набора инструментов не является вариантом. Вы по-прежнему можете использовать последнюю версию Visual Studio для создания и редактирования проектов, использующих старые наборы инструментов и библиотеки. В Visual Studio 2019 вы можете воспользоваться такими функциями, как:
- современные статические средства анализа, включая основные рекомендации по C++ проверка ers и Clang-Tidy, чтобы помочь выявить потенциальные проблемы в исходном коде.
- автоматическое форматирование в соответствии с вашим выбором современных стилей может помочь сделать устаревший код гораздо более читаемым.
В этом разделе
| Обращение | Description |
|---|---|
| Обновление проектов C++ с более ранних версий Visual Studio | Обновление базы кода до последней версии Visual Studio и компилятора. |
| Средства интегрированной среды разработки для обновления кода C++ | Полезные функции интегрированной среды разработки, которые помогают в процессе обновления. |
| Двоичная совместимость C++ между версиями Visual Studio | Использование библиотек версии 140 и более поздних версий из проектов версии 140 и более поздних версий. |
| Использование собственного многоплатформенного нацеливания в Visual Studio для сборки старых проектов | Используйте Visual Studio со старыми компиляторами и библиотеками. |
| Журнал изменений Visual C++ 2003–2015 | Список всех изменений в библиотеках Microsoft C++ и средств сборки из Visual Studio 2003 до 2015, которые могут потребовать изменений в коде. |
| Новые возможности Visual C++ 2003–2015 | Все новые сведения для Microsoft C++ из Visual Studio 2003 до Visual Studio 2015. |
| Перенос и обновление: примеры и конкретные случаи | Для этого раздела мы перенесли и обновили несколько примеров и приложений, а также рассмотрели достигнутые результаты. Эти статьи дают вам представление о том, что участвует в процессе переноса и обновления. На протяжении всего процесса мы даем советы и рекомендации по обновлению, а также поясняем, каким образом были устранены конкретные ошибки. |
| Перенос на универсальную платформу Windows | Содержит сведения о переносе кода приложения в Windows 10 и более поздних версий. |
| Знакомство с Visual C++ для пользователей UNIX | Содержит сведения для пользователей UNIX, которые не знакомы с Visual C++ и хотят научиться работать с этой средой. |
| Запуск программ Linux в Windows | Здесь описываются параметры для переноса приложений из UNIX в Windows. |
Загрузки последних поддерживаемых версий Распространяемого компонента Visual C++
Распространяемый компонент Visual C++ устанавливает библиотеки среды выполнения Microsoft C и C++ (MSVC). Эти библиотеки необходимы многим приложениям, созданным с помощью средств Microsoft C и C++. Если приложение использует эти библиотеки, перед установкой приложения необходимо установить пакет Microsoft Распространяемый компонент Visual C++ в целевой системе. Архитектура распространяемого пакета должна соответствовать целевой архитектуре приложения. Распространяемая версия должна быть не менее последней, чем набор инструментов сборки MSVC, используемый для сборки приложения. Мы рекомендуем использовать последнюю распространяемую версию Visual Studio, за исключением некоторых исключений, указанных далее в этой статье.
Дополнительные сведения об установке и распространении компонентов Visual Studio см. в разделе «Распространение файлов Visual C++».
Visual Studio 2015, 2017, 2019 и 2022
В этой таблице перечислены последние поддерживаемые пакеты Microsoft Распространяемый компонент Visual C++ для Visual Studio 2015, 2017, 2019 и 2022. Последняя поддерживаемая версия имеет последние реализованные функции C++, безопасность, надежность и производительность. Он также включает последние обновления соответствия стандартов языка И библиотекИ C++ . Мы рекомендуем установить эту версию для всех приложений, созданных с помощью Visual Studio 2015, 2017, 2019 или 2022.
В отличие от старых версий Visual Studio, которые имеют редкие обновления redist, номер версии не указан в следующей таблице для Visual Studio 2015-2022, так как редист часто обновляется. Чтобы найти номер версии последнего редиста, скачайте нужный редист, используя одну из следующих ссылок. Затем просмотрите его свойства с помощью Windows проводник. В области сведений версия файла содержит версию redist.
| Архитектура | Ссылка | Примечания. |
|---|---|---|
| ARM64 | https://aka.ms/vs/17/release/vc_redist.arm64.exe | Permalink для последней поддерживаемой версии ARM64 |
| X86 | https://aka.ms/vs/17/release/vc_redist.x86.exe | Permalink для последней поддерживаемой версии x86 |
| X64 | https://aka.ms/vs/17/release/vc_redist.x64.exe | Permalink для последней поддерживаемой версии x64. Распространяемый пакет X64 содержит двоичные файлы ARM64 и X64. Этот пакет упрощает установку необходимых двоичных файлов Visual C++ ARM64 при установке распространяемого компонента X64 на устройстве ARM64. |
Скачайте другие версии, включая долгосрочные версии канала выпуска LTSC, из my.visualstudio.com.
Примечания.
- В Распространяемый компонент Visual C++ для Visual Studio 2015-2022 нет отдельных пакетов для разных языков. Он содержит EULAs для всех поддерживаемых языков.
- Некоторые загрузки, которые упоминание в этой статье, доступны в настоящее время на my.visualstudio.com. Войдите с помощью учетной записи подписки Visual Studio, чтобы получить доступ к ссылкам скачивания. Если вы запрашиваете учетные данные, используйте имеющуюся учетную запись подписки Visual Studio. Или создайте бесплатную учетную запись, выбрав учетную запись «Нет»? Создайте его! Ссылку.
- Версии Visual Studio, начиная с Visual Studio 2015, используют те же распространяемые файлы. Например, любые приложения, созданные наборами инструментов Visual Studio 2015, 2017, 2019 или 2022, могут использовать последние Распространяемый компонент Visual C++ Майкрософт. Однако версия Microsoft Распространяемый компонент Visual C++, установленной на компьютере, должна быть той же или выше, чем версия набора инструментов Visual C++, используемого для создания приложения. Дополнительные сведения о том, какую версию распространяемого компонента необходимо установить, см. в разделе «Определение распространяемых библиотек DLL». Дополнительные сведения о двоичной совместимости см. в статье C++ с двоичной совместимостью между версиями Visual Studio.
- Поддержка Windows XP: корпорация Майкрософт завершила поддержку Windows XP 8 апреля 2014 г. Текущие версии Распространяемый компонент Visual C++ для Visual Studio 2015-2022 поддерживают только Windows Vista, 7, 8.1, 10 и 11. Последняя версия Распространяемый компонент Visual C++, которая работает в Windows XP, поставляется в Visual Studio 2019 версии 16.7 (версии файлов, начиная с версии 14.27). Распространяемый компонент доступен в разделе my.visualstudio.com Загрузки как Распространяемый компонент Visual C++ для Visual Studio 2019 (версия 16.7). Используйте поле поиска, чтобы найти эту версию. Чтобы скачать файлы, выберите нужную платформу и язык, а затем нажмите кнопку «Скачать «.
- Распространяемый компонент Visual C++ поддерживает несколько параметров командной строки. Дополнительные сведения см. в разделе «Параметры командной строки» для распространяемых пакетов.
Visual Studio 2013 (VC++ 12.0)
Эти ссылки загружают последние поддерживаемые пакеты microsoft microsoft en-US Распространяемый компонент Visual C++ для Visual Studio 2013. Другие версии и языки можно скачать из обновления для распространяемого пакета Visual C++ 2013 или из my.visualstudio.com.
| Архитектура | Версия | Ссылка |
|---|---|---|
| X86 | 12.0.40664.0 | vcredist_x86.exe |
| X64 | 12.0.40664.0 | vcredist_x64.exe |
Другие версии
- Многобайтовая библиотека MFC для Visual Studio 2013. Эта надстройка MFC для Visual Studio 2013 содержит многобайтовый набор символов (МБ CS) библиотеки классов Microsoft Foundation (MFC).
- Среда выполнения Visual C++ 2013 для неопубликованных приложений Windows 8.1. Дополнительные сведения см. в разделе «Среда выполнения C++ для неопубликованных приложений Windows 8.1» в блоге команды C++.
Visual Studio 2012 (VC++ 11.0) с обновлением 4 (больше не поддерживается)
Эти ссылки скачивают последние доступные пакеты microsoft en-US Распространяемый компонент Visual C++ для Visual Studio 2012 с обновлением 4. Другие версии и языки можно скачать из пакетов Microsoft Распространяемый компонент Visual C++ для Visual Studio 2012 с обновлением 4 или с my.visualstudio.com.
| Архитектура | Версия | Ссылка |
|---|---|---|
| X86 | 11.0.61030.0 | en_visual_cpp_redistributable_for_visual_studio_2012_update_4_x86_3161523.exe |
| X64 | 11.0.61030.0 | en_visual_cpp_redistributable_for_visual_studio_2012_update_4_x64_3161523.exe |
Visual Studio 2010 (VC++ 10.0) с пакетом обновления 1 (SP1) (больше не поддерживается)
| Архитектура | Версия | Ссылка |
|---|---|---|
| X86 | 10.0.40219.325 | vcredist_x86.exe |
| X64 | 10.0.40219.325 | vcredist_x64.exe |
Скачайте распространяемые файлы для других языков и архитектур:
Visual Studio 2008 (VC++ 9.0) с пакетом обновления 1 (SP1) (больше не поддерживается)
Visual Studio 2008 с пакетом обновления 1 (SP1) достигла конца расширенной поддержки 10 апреля 2018 г.
| Архитектура | Версия | Ссылка |
|---|---|---|
| X86 | 9.0.30729.5677 | vcredist_x86.exe |
| X64 | 9.0.30729.5677 | vcredist_x64.exe |
Скачайте распространяемые файлы для других языков и архитектур:
Visual Studio 2005 (VC++ 8.0) с пакетом обновления 1 (SP1) (больше не поддерживается)
Окончание расширенной поддержки Visual Studio 2005 12 апреля 2016 г.
- Распространяемые файлы для архитектур X86, X64 и IA64 доступны в microsoft Visual C++ 2005 с пакетом обновления 1 для распространяемого пакета MFC.
Решение: как обновить MS Visual C++, MS .NET Framework, VCredist
Для полноценной работы приложений в ОС windows без ошибок, рекомендуется установить (обновить) последние версии программного обеспечения Microsoft Visual C++, Microsoft .NET Framework и VCredist. Приводим инструкцию и ссылки на официальный сайт для скачивания программ.
Microsoft Visual C++
Для загрузки последней версии Microsoft Visual C++ перейдите на официальный сайт, в раздел для скачивания по ссылке. Выберите русский язык, если в списке выбран иной, и нажмите «скачать». В появившемся окне выберите необходимую версию для скачивания: 64 битную или 86, затем нажмите «Next».

Затем сохраните и запустите установку скаченных файлов. Microsoft Visual C++ обновлен.
Microsoft .NET Framework
Чтобы обновить .NET Framework перейдите на официальный сайт Microsoft по ссылке для скачивания. Выберите русский язык и нажмите «Скачать».
Важно! Убедитесь, что на компьютере установлен самый последний пакет обновления и важные исправления Windows. Для поиска обновлений безопасности посетите Центр обновления Windows. При установке на 64-разрядной XP или Windows 2003, возможно, придется установить Windows Imaging Component. 32-разрядную версию Windows Imaging Component можно получить по следующей ссылке. 64-разрядную версию Windows Imaging Component можно получить по следующей ссылке.

В блоке «Мы рекомендуем» не выбирайте дополнительные пакеты, для установки они не требуются. Нажмите «Отказаться и продолжить», сохраните и запустите установку скаченного файла. .NET Framework обновлен.
VCredist
Для обновления VCredist перейдите в раздел обновления Microsoft Visual C++ перейдите на официальный сайт, в раздел для скачивания по ссылке. В появившемся окне выберите VSU4\vcredist_arm.exe, затем нажмите «Next». Сохраните и запустите установку скаченных файлов. VCredist обновлен.
- обновить
- Microsoft Visual C++
- Microsoft Visual Redistributable
- Microsoft .NET Framework
- VCredist
Обновление для Visual C++ 2013 и Распространяемый компонент Visual C++ Package
Некоторые функции математической библиотеки с плавающей точкой в visual C++ 2013 x64 C Runtime (CRT) неправильно проверяют, доступны ли некоторые инструкции AVX и FMA3 перед их использованием. Если инструкции недоступны, вызовы этих функций приводят к неправомерным исключениям (0xc000001d). К затронутым функциям относятся журнал, журнал10, pow и другие.
Эта проблема, скорее всего, возникает в следующих сценариях:
- В старой версии операционной Windows, которая не поддерживает сохранение состояния AVX (например, Windows Vista), если она используется на компьютере, который поддерживает набор инструкций AVX
- Если сохранение состояния AVX явно отключено в конфигурации загрузки операционной системы
- В Windows предварительной среды (Windows PE) Примечание Windows PE не поддерживает сохранение состояния
Причина
Эта проблема возникает из-за того, что Visual C++ 2013 x64 C Runtime не проверяет, поддерживает ли операционная система сохранение состояния AVX перед запуском инструкций AVX или FMA3.
Решение
Это обновление для Microsoft Visual C++ 2013, распространяемый пакет обновления 5, выпущено как обновление только для скачивания и не распространяется через Windows Update. Распространение этого обновления разрешено в условиях, заданных в выпуске обновления 5 Microsoft Visual Studio 2013.
Если вы статически связываете с Visual C++2013 C Runtime, Visual Studio 2013 hotfix. Дополнительные сведения см. в следующей статье базы знаний Майкрософт:
Центр загрузки Майкрософт
В Центре загрузки Майкрософт доступны следующие файлы.
x64.exe пути к файлу
Чешский (Чешская Республика)