Microsoft visual c++ runtime library
Содержание:
- Разновидности пакетов
- Разновидности пакетов
- Локальное развертывание
- Microsoft Visual C++ Runtime Library Runtime Error — как исправить
- Разновидности пакетов
- Установка распространяемых пакетов
- Использование Visual Studio Installer
- Microsoft Visual C++ runtime library – как исправить ошибку Runtime Error
- Системные требования для установки Microsoft Visual C++ Redistributable Package 2015
- Сравнение различных версий и обновление
- Причины обновления кода C++
- Обратная связь и сообщество
- Download Visual C++ Redistributables
- The Latest Microsoft Visual C++ Redistributables
- Microsoft Visual C++ 2019 Redistributable
- Microsoft Visual C++ 2017 Redistributable
- Microsoft Visual C++ 2015 Redistributable
- Microsoft Visual C++ 2013 Redistributable
- Microsoft Visual C++ 2012 Redistributable
- Microsoft Visual C++ 2010 Redistributable
- Microsoft Visual C++ 2008 Redistributable
- Microsoft Visual C++ 2005 Redistributable
- Можно ли удалить Microsoft Visual C++ Redistributable
- Декомпозиция при объявлении (англ. structural bindings)
- Терминология
- Как понять, какой версии не хватает на компьютере?
- All in One Visual C++ Installers
- Автоматический вывод параметров шаблонов
Разновидности пакетов
Существует несколько версий продукта, в том числе и под разные архитектуры. Как и большинство приложений, Microsoft Visual C++ выпускается для систем 32/ 64bit, и рекомендуется использовать полностью совместимый пакет, чтобы исключить возможные ошибки при работе. На ОС х64 может быть установлена как 32-разрядная (x86), так и 64-разрядная (x64) версия, и в большинстве случаев для запуска игр в таких системах требуется наличие обоих пакетов.
Вы можете скачать Microsoft Visual C бесплатно для Windows XP, 7, 8, 8.1,10 и исправить ошибки самостоятельно. Программная среда не занимает много места на жёстком диске, и установка нескольких версий в одну ОС практикуется довольно часто. Это объясняется тем, что старые игры и программы могут корректно работать только под старой версией продукта, а новые, наоборот, требуют обновлённых библиотек.
Разновидности пакетов
Существует несколько версий продукта, в том числе и под разные архитектуры. Как и большинство приложений, Microsoft Visual C++ выпускается для систем 32/ 64bit, и рекомендуется использовать полностью совместимый пакет, чтобы исключить возможные ошибки при работе. На ОС х64 может быть установлена как 32-разрядная (x86), так и 64-разрядная (x64) версия, и в большинстве случаев для запуска игр в таких системах требуется наличие обоих пакетов.
Вы можете скачать Microsoft Visual C бесплатно для Windows XP, 7, 8, 8.1,10 и исправить ошибки самостоятельно. Программная среда не занимает много места на жёстком диске, и установка нескольких версий в одну ОС практикуется довольно часто. Это объясняется тем, что старые игры и программы могут корректно работать только под старой версией продукта, а новые, наоборот, требуют обновлённых библиотек.
Локальное развертывание
В локальном развертывании файлы библиотек устанавливаются в папку приложения вместе с исполняемым файлом. Разные версии распространяемых библиотек Visual C++ можно устанавливать в одну папку, так как имя файла для каждой версии включает в себя номер версии. Например, версия 12 библиотеки времени выполнения C++ имеет имя msvcp120.dll, а версия 14 — имя msvcp140.dll.
Библиотека может быть распределена по нескольким дополнительным библиотекам DLL, называемым точечными. Например, некоторые функциональные возможности в стандартной библиотеке, выпущенной в Visual Studio 2017 версии 15.6, были добавлены в msvcp140_1.dll, чтобы сохранить совместимость msvcp140.dll с ABI. Если вы используете Visual Studio 2017 версии 15.6 (набор инструментов 14.13) или набор инструментов более поздней версии из Visual Studio 2017, вам может потребоваться локально развернуть эти точечные библиотеки, как и основную библиотеку. Эти отдельные точечные библиотеки затем объединяются в следующий основной номер версии базовой библиотеки при изменении ABI.
Так как корпорация Майкрософт не может автоматически обновлять локально развернутые библиотеки Visual C++, мы не рекомендуем применять локальное развертывание этих библиотек. Если вы решите использовать локальное развертывание распространяемых библиотек, мы рекомендуем реализовать собственный метод автоматического обновления локально разворачиваемых библиотек.
Microsoft Visual C++ Runtime Library Runtime Error — как исправить
Сегодня мы опишем все варианты действий, которые помогут решить распространенную проблему в Windows (7/8/8.1/10), связанную с ошибкой Microsoft Visual C++.
Microsoft Visual C++ Runtime Library: Runtime Error – ошибка, возникающая по причине сбоев в работе операционной системы. Ее можно увидеть при загрузке новой игры (Skyrim, GTA и др.) или программы.
Точно не известно, почему данный сбой возникает на персональных ПК.
Интегрированная в саму систему Microsoft Visual C++ является очень сложным элементом, поэтому сбои в его работе считаются абсолютно нормальным происшествием.
Появление ошибки, при запуске Казаков в Windows 7
Исправление ошибки Runtime Error
Мы вывели все основные источники проблемы, и постарались дать краткое описание по их решению. Начнем с самого простого.
Проверка соответствий
Microsoft Visual C++ — основная база для написания игр и приложений. Первым действием пользователя может стать лишь проверка и установка обновлений. Официальный пакет можно скачать с сайта компании, он распространяется бесплатно.
Строит непременно обратить внимание на свойства ОС — скачать нужно свою битную версию x86-64.
Мощные ПК могут скачать последние пакеты Studio 2015.
Вирусы
Антивирус не может гарантировать защиту со 100% гарантией. Проверка всех дисков на наличие вирусов не будет лишней. Именно глубокое сканирование следует провести несколькими программами по удалению вредоносного ПО. Вспомогательные онлайн ресурсы тут тоже могут пригодиться, чтобы не производить установку большого количества антивирусов.
Runtime Error фото» title=»Исправление ошибки Runtime Error фото» width=»597″ height=»193″ /> Примените антивирусы с обновленными антивирусными базами
Ошибка во времени
Любая системная программа разрабатывается с расчетом на определенный срок своего действия, после его окончания будет нужна установка обновлений. Отчет времени ведется согласно часам на компьютере. Их сбой может привести к ложному истечению гарантийной работы. Поэтому следует установить правильное местное время.
Устанавливаем автоматическое определение времени и даты
Переустановка софта
Скачивание файлов часто приводит к потере нескольких важных элементов, без которых нормальное функционирование невозможно.
- Переустановите скачанную игру или программу заново.
- Найдите другой источник с похожим файлом и загрузите его оттуда.
- Произведите вручную поиск недостающих элементов.
Конфликты с DirectX
DirectX 10-той версии очень часто становиться причиной возникновения конфликта. Это возникает из-за его нагрузки на ОС. Некоторые Windows XP просто не справляются с полученным объемом информации.
- Решением может стать обновление DirectX . Лучше это сделать произвести с помощью установщика от Microsof.
- Можно самостоятельно найти более легкий аналог нежели DirectX 10, 11 и установить его.
NET Framework и его наличие
NET Framework может быть не установлен на вашем компьютере. Следует скачать актуальную версию под вашу операционную систему. Без данного элемента о работе игр и речи быть не может.
карта
карты и их драйвера всегда становятся проблемами при многих изменениях на ПК. Нужно проверить, нет ли тут конфликтов.
- Посетите сайт разработчика своей видеокарты. Проверьте наличие последних обновлений.
- Перед установкой произведите полное стирание предыдущих драйверов.
- Попробуйте снова включить проблемный софт.
Проверяем драйвера видеокарты
Очистка реестра
Windows реестр очень важен для сохранения многих полезных функций, которые используются пользователей при каждом запуске компьютера. Иногда сохраненных данных становиться слишком много. Они начинают в хаотичном порядке выдавать разные ошибки. Пути, по которым раньше все работало, отныне становятся заблокированными.
- Очистите реестр специальными утилитами.
- Произведите перезагрузку системы в конце оптимизации.
Проверяем реестр на наличие ошибок через CCleaner
А вот видео инструкция по работе со сторонним софтом для исправления данного бага. Судя по отзывам — многим помогает.
Ошибка Microsoft Visual C++ Runtime Library устраняется в 100% случаях. Главное помнить, что испробовать нужно каждый пункт данной статьи в строгом с ним соответствии. Проблема носит исключительно виртуальный характер, искать спаленные элементы на платах не стоит.
- Алексей
- Распечатать
Разновидности пакетов
Существует несколько версий продукта, в том числе и под разные архитектуры. Как и большинство приложений, Microsoft Visual C++ выпускается для систем 32/ 64bit, и рекомендуется использовать полностью совместимый пакет, чтобы исключить возможные ошибки при работе. На ОС х64 может быть установлена как 32-разрядная (x86), так и 64-разрядная (x64) версия, и в большинстве случаев для запуска игр в таких системах требуется наличие обоих пакетов.
Вы можете скачать Microsoft Visual C бесплатно для Windows XP, 7, 8, 8.1,10 и исправить ошибки самостоятельно. Программная среда не занимает много места на жёстком диске, и установка нескольких версий в одну ОС практикуется довольно часто. Это объясняется тем, что старые игры и программы могут корректно работать только под старой версией продукта, а новые, наоборот, требуют обновлённых библиотек.
Установка распространяемых пакетов
Распространяемые пакеты Visual C++ позволяют устанавливать и регистрировать все библиотеки Visual C++. Если вы используете его, запустите его в качестве необходимого компонента в целевой системе, прежде чем устанавливать приложение. Рекомендуется использовать эти пакеты для развертываний, поскольку они включают функцию автоматического обновления библиотек Visual C++. Пример использования этих пакетов см. в разделе Пошаговое руководство. Развертывание приложения Visual C++ с помощью распространяемого пакета Visual C++.
Каждый распространяемый пакет Visual C++ проверяет наличие более новой версии на компьютере. Если обнаружена более поздняя версия, пакет не будет установлен. Начиная с Visual Studio 2015, в распространяемых пакетах отображается сообщение о сбое установки. Если пакет выполняется с помощью флага, сообщение об ошибке не отображается. В любом случае ошибка записывается установщиком Майкрософт, а результат ошибки возвращается вызывающему объекту. Начиная с пакетов Visual Studio 2015 вы можете избежать этой ошибки, проверив реестр, чтобы узнать, установлена ли более новая версия. Текущий номер установленной версии хранится в ключе. номер версии — 14,0 для Visual Studio 2015, Visual Studio 2017 и Visual Studio 2019, так как последний распространяемый пакет совместим с версией 2015. Ключ — , или, в зависимости от установленных версий Vcredist для платформы. ( Если вы используете Regedit для просмотра версии установленного пакета x86 на платформе x64, необходимо проверить подраздел.) Номер версии хранится в REG_SZ строковом значении , а также в наборе значений, , и . Чтобы избежать ошибки во время установки, нужно пропустить установку распространяемого пакета, если только что установленная версия является более новой.
Использование Visual Studio Installer
-
Найдите Visual Studio Installer на своем компьютере.
В меню «Пуск» Windows можно выполнить поиск по слову «установщик».
Для продолжения работы может потребоваться обновление самого установщика. Если это так, следуйте инструкциям на экране.
-
В установщике найдите установленный у вас выпуск Visual Studio.
Например, если вы ранее установили Visual Studio Community 2022 и для этого выпуска есть обновление, в установщике будет отображаться сообщение Доступно обновление.
-
Чтобы установить обновления, нажмите кнопку Обновить.
-
Когда обновление завершится, может появиться запрос на перезагрузку компьютера. В таком случае перезагрузите компьютер, а затем запустите Visual Studio, как обычно.
Если вам не будет предложено перезагрузить компьютер, выберите Запуск, чтобы запустить Visual Studio из установщика.
Microsoft Visual C++ runtime library – как исправить ошибку Runtime Error
Ошибка Microsoft Visual C++ Runtime Library: Runtime Error обычно возникает при сбоях в работе ОС, запуске новой, требовательной игры или программы. Точные причины возникновения сбоя на ПК установить невозможно. Встроенная в операционную систему библиотека Microsoft VC является сложным компонентом, поэтому сбои в его работе – обыденное явление.
Проблемы с совместимостью
В случае, если игра или программа выпущена давно – ошибка может указывать на то, что операционная система и программные комплексы не совместимы.
Есть несколько простых способы исправить ошибку:
- кликнуть правой кнопкой мыши (ПКМ) по ярлыку приложения, из списка выбрать “Запуск от имени администратора”;
- еще один вариант – кликнуть ПКМ по ярлыку, выбрать “Свойства”, вкладку “Совместимость”, активировать галочку в поле “Режим совместимости”, выбрать из выпадающего списка нужную версию операционной системы и нажать “ОК”.
Неправильное имя учетной записи
Для исправления нужно просто создать новую учетную запись с использованием латинских букв:
перейти в Панель управления, выбрать пункт “Учетные записи пользователей”;
затем, “Управление другой учетной записью”;
добавить нового пользователя с именем написанным латинскими буквами;
сменить пользователя;
Ошибки приложения
Иногда причиной возникновения ошибки Microsoft Visual C Runtime Library являются битые файлы плагинов и библиотек “.dll”, которые устанавливаются вместе с неработающей программой. Для исправления нужно переустановить программу:
- перейти в директорию с программой, найти файл uninstall.exe;
- запустить и подтвердить удаление.
- заново провести инсталляцию с официального источника.
Ошибки библиотек Microsoft Visual C++
Поскольку приложения и игры для ПК создаются в специализированной среде разработки Microsoft Visual C++, системе для правильной интерпретации продукта требуются распространяемые пакеты VCRedist. Ошибки в файлах Microsoft Visual C++ и ее библиотеках могут приводить к сбоям системы. Чтобы устранить ошибки runtime error visual c++, нужно переустановить компоненты VC++ вручную:
- сначала нужно зайти в панель управления и удалить все установленные компоненты;
- затем перейти на сайт Microsoft и скачать библиотеку исходя из разрядности;
- установить, следуя инструкции и перезагрузить ПК.
Устраняем ошибку 39 – драйвер поврежден или отсутствует
Неисправности NET.Framework
Помимо VCRedist проблемная программа может требовать наличия NET.Framework в системе. Оптимальным вариантом станет установка двух пакетов:
- Microsoft .NET Framework 3.5;
- Microsoft .NET Framework 4.0.
Скачать, затем следовать инструкциям и перезагрузить ПК.
Проблемы с DirectX
Одной из причин неисправностей runtime library может являться установленный в системе DirectX 10, который может привести к данному сбою Windows. Решение:
Устаревшие или поврежденные драйвера видеокарты
карты и их драйвера могут стать проблемой при многих изменениях на компьютере (ПК). Нужно проверить, нет ли тут конфликтов. Решение:
проверить наличие обновлений драйверов видеокарты;
убедиться в том, что свежие драйверы установлены на ПК, сверить свою версию с последней версией на официальном сайте производителя.
Неправильное системное время
Некоторые пользователи отмечают, что такая неполадка может возникать при установке неверных данных о времени и дате. Связано это с тем, что разработчики ограничивают срок использования приложения и, оно, проверяя дату приостанавливает свою работу.
Решение – установить верные параметры времени и даты на панели задач.
Ошибка в Windows 10
Вся суть заключается в том, что Windows 10 имеет возможность запретить обновление некоторых служб и компонентов, таких как Visual C++. Для исправления ее нужно включить, чтобы Windows получила обновления автоматически. Сделать это просто:
- перейти в меню “Программы и компоненты”;
- затем, “Включение и отключение компонентов Windows”;
- активировать в списке галочками службы Visual C++ и NetFramework, рядом с которыми стоит черный квадрат;
- дождаться окончания автоматического обновления, перезагрузить ПК и запустить нужную программу.
Системные требования для установки Microsoft Visual C++ Redistributable Package 2015
Для каждой версии Microsoft Visual C++ Redistributable Package будут свои системные требования, но так как самой актуальной на данный момент является 2015 версия и у нее естественно самые высокие системные требования, поэтому именно их мы и рассмотрим, но предыдущие версии я также затрону.
- 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.
Если у Вас Windows 7 то, начиная с Microsoft Visual C++ Redistributable Package 2012, требуется наличие установленного Service Pack 1, т.е. распространяемые пакеты 2012, 2013, и 2015 можно установить только на Windows 7 Service Pack 1.
Требования к оборудованию:
- Процессор с тактовой частотой 1,6 ГГц или больше (в версиях, которые ниже 2015 достаточно 900 MГц);
- Объем оперативной памяти 1 ГБ (в версиях, которые ниже 2015 всего 512 мегабайт);
- 50 МБ доступного пространства на жестком диске (во всех версиях);
- Жесткий диск с частотой вращения 5 400 об/мин (во всех версиях).
Сравнение различных версий и обновление
Возможно, обновление базы кода до нового набора инструментов не является вариантом. вы по-прежнему можете использовать последнюю Visual Studio для создания и изменения проектов, использующих более старые наборы инструментов и библиотеки. в Visual Studio 2019 можно воспользоваться преимуществами таких функций, как:
-
современные инструменты статического анализа, включая средства проверки C++ Core Guidelines и Clang, позволяют определить потенциальные проблемы в исходном коде.
-
Автоматическое форматирование в соответствии с выбранными современными стилями может помочь сделать код более удобочитаемым.
Дополнительные сведения см. в разделе Использование собственного многоплатформенного нацеливания в Visual Studio для сборки старых проектов.
Причины обновления кода C++
Если устаревшее приложение работает удовлетворительно, в безопасной среде и не находится под активной разработкой, может быть не слишком много стимула к обновлению. Однако рассмотрим обновление в таких случаях: приложение требует постоянного обслуживания. Или вы выполняете новую разработку функций или вносите улучшения производительности или безопасности. Обновление предоставляет следующие преимущества.
-
Тот же код может работать быстрее, так как мы улучшили оптимизацию компилятора.
-
Современные функции C++ и методики программирования исключают множество распространенных причин ошибок и создают код, который гораздо проще поддерживать, чем старые идиомы в стиле C.
-
Время сборки ускоряется из-за улучшения производительности компилятора и компоновщика.
-
Улучшенное соответствие стандартам. Параметр компилятора /permissive- помогает найти код, который не соответствует текущему стандарту C++. Новый препроцессор поддерживает также соответствие кода.
-
Улучшенная безопасность во время выполнения, включая более безопасные функции библиотеки времени выполнения C . и такие функции компилятора, как проверка защиты и средства очистки адресов (новые Visual Studio 2019 версии 16,4).
Обратная связь и сообщество
Вопросы и ответы о Документации Майкрософт
Документация Майкрософт предоставляет форумы с возможностью поиска по вопросам и ответам. Добавьте тег в сообщение, чтобы получить помощь сообщества по вопросам, связанным с C++.
Как сообщить о проблеме с набором инструментов Microsoft C/C++
Узнайте о создании эффективных отчетов об ошибках с использованием набора инструментов Microsoft C/C++ (компилятора, компоновщика или других средств) и информация о способах отправки отчета.
Блог группы разработчиков по C++\ (Майкрософт)
Описание новых возможностей и актуальная информация от разработчиков инструментов C++ в Visual Studio.
Сообщество разработчиков Visual Studio (C++)
Получите помощь, сообщите об ошибках или оставьте предложения по использованию C++ в Visual Studio.
Download Visual C++ Redistributables
The Latest Microsoft Visual C++ Redistributables
If you are looking to install the latest Visual C++ redistributables, the following updates are the latest supported Visual C++ redistributable packages for Visual Studio 2015, 2017 and 2019.
For 32-bit Systems: vc_redist.x86.exe
For 64-bit Systems: vc_redist.x64.exe
For ARM64 Systems: vc_redist.arm64.exe
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.
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.
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.
Download Visual C++ Redistributable 2015 in all languages
Download Visual C++ Redistributable 2015 Update 3 full installer
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.
Download Visual C++ Redistributable 2013 in all languages
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.
Download Visual C++ 2012 Redistributable Update 5 in all languages (Requires signing in with your Microsoft account)
Microsoft Visual C++ 2010 Redistributable
Applications created with Visual Studio 2010 (Version 10.0) require C++ runtime 2010. If you have an application that is giving an error about MSVCR100.dll or MSVCP100.dll missing, you should install this version of Visual C++ 2010 redistributable.
Microsoft Visual C++ 2008 Redistributable
Applications created with Visual Studio 2008 (Version 9.0) require C++ runtime 2008. If you have an application that is giving an error about MSVCR90.dll or MSVCP90.dll missing, you should install this version of Visual C++ 2008 redistributable.
Microsoft Visual C++ 2005 Redistributable
Можно ли удалить Microsoft Visual C++ Redistributable
Если вкратце, то да, можно. Но не нужно.
Конечно, перфекциониста может напрягать такое обилие «одинаковых» компонентов в списке установленных приложений. Все же, с ними надо смириться. Эти пакеты не причиняют системе никакого вреда (если установлены из надежных источников), не грузят ее и не занимают слишком много места. В особо запущенных случаях размер общий размер библиотек Microsoft Visual C++ будет занимать лишь несколько сотен мегабайт. Если вы ищите способы сэкономить немного пространства на диске С, тогда воспользуйтесь соответствующе предусмотренными механизмами (читайте статью «Как освободить место на системном диске Windows 10»). Они позволят вам освободить гораздо больше пространства, нежели две-три сотни мегабайт от выпиленных Visual C++ Redistributable.
Декомпозиция при объявлении (англ. structural bindings)
Удобно декомпозировать std::pair, std::tuple и структуры с помощью нового синтаксиса:
#include struct BookInfo { std::string title; // In UTF-8 int yearPublished = 0; }; BookInfo readBookInfo(); int main() { // Раскладываем поля структуры на переменные title и year, тип которых выведен автоматически auto = readBookInfo(); }
В C++17 есть ограничения декомпозиции при объявлении:
- нельзя явно указывать типы декомпозируемых элементов
- нельзя использовать вложенную декомпозицию вида auto ] = …
Декомпозиция при объявлении в принципе может раскладывать любой класс — достаточно один раз написать подсказку путём специализации tuple_element, tuple_size и get. Подробнее читайте в статье Adding C++17 structured bindings support to your classes (blog.tartanllama.xyz)
Декомпозиция при объявлении хорошо работает в контейнерах std::map<> и std::unordered_map<> со старым методом .insert() и двумя новыми методами :
Метод try_emplace выполняет вставку тогда и только тогда, когда заданного ключа ещё нет в контейнере Если заданный ключ уже есть в контейнере, ничего не происходит: в частности, rvalue-значения не перемещаются
Метод insert_or_assign выполняет либо вставку, либо присваивание значения существующего элемента
Пример декомпозиции с try_emplace и декомпозиции key-value при обходе map:
#include #include #include #include int main() { std::map map; auto = map.try_emplace(«key», «abc»); auto = map.try_emplace(«key», «cde»); auto = map.try_emplace(«another_key», «cde»); assert(succeed1); assert(!succeed2); assert(succeed3); // Вы можете раскладывать key и value прямо в range-based for for (auto&& : map) { std::cout << key << «: » << value << «\n»; } }
Терминология
-
приложение Win32 — это Windows классическое приложение на языке C++, которое может использовать Windows собственные api -интерфейсы C и (или ) api COM и api библиотеки стандартных библиотек, а также сторонние библиотеки. приложение Win32, выполняемое в окне, требует, чтобы разработчик работал явно с Windows сообщениями внутри функции Windows процедуры. Несмотря на имя, приложение Win32 можно скомпилировать 32 как 64-разрядный (x86) или 64-разрядный (x64) двоичный файл. в Visual Studio IDE термины x86 и Win32 являются синонимами.
-
Модель COM — это спецификация, которая позволяет программам, написанным на разных языках, взаимодействовать друг с другом. многие компоненты Windows реализуются как com-объекты и следуют стандартным правилам COM для создания объектов, обнаружения интерфейсов и уничтожения объектов. Использование объектов COM из классических приложений C++ относительно просто, но написание собственного COM-объекта является более сложным. Библиотека активных шаблонов (ATL) предоставляет макросы и вспомогательные функции, УПРОЩАЮЩИЕ разработку com.
-
приложение MFC — это Windows классическое приложение, которое использует Microsoft Foundation Classes для создания пользовательского интерфейса. Приложение MFC также может использовать компоненты COM, а также API CRT и библиотеки стандартных библиотек. MFC предоставляет объектно-ориентированную оболочку с тонким C++ для циклов оконных сообщений и Windows api. MFC является выбором по умолчанию для приложений (особенно приложений корпоративного типа), которые имеют множество элементов управления пользовательского интерфейса или пользовательских элементов управления. MFC предоставляет удобные вспомогательные классы для управления окнами, сериализации, обработки текста, печати и современных элементов пользовательского интерфейса, таких как лента. Для эффективной работы с MFC вы должны быть знакомы с Win32.
-
Приложение или компонент C++/CLI использует расширения для синтаксиса C++ (как это разрешено стандартом C++), чтобы обеспечить взаимодействие между .NET и машинным кодом C + +. приложение C++/cli может содержать части, работающие в собственном коде, и части, которые выполняются в платформа .NET Framework с доступом к библиотеке базовых классов .net. C++/CLI является предпочтительным вариантом при наличии машинного кода C++, который должен работать с кодом, написанным на C# или Visual Basic. Он предназначен для использования в библиотеках DLL .NET, а не в коде пользовательского интерфейса. Дополнительные сведения см. в статье Программирование .NET с использованием C++/CLI (Visual C++).
любое классическое приложение в C++ может использовать среду выполнения C (CRT), классы и функции стандартной библиотеки, COM-объекты и открытые функции Windows, которые вместе называются Windows API. общие сведения о Windows классических приложениях на c++ см. в разделе Начало работы с Win32 и C++.
Как понять, какой версии не хватает на компьютере?
По ошибке, в которой упоминается нехватка dll файла с определенным названием можно определить, какая версия распространяемого пакета вам требуется. Ищем название файла в табличке ниже, и смотрим, что же требуется вашей системе.
Название отсутствующего файла | Необходимая версия распространяемого пакета |
---|---|
msvcp70.dll, msvcr70.dll | Microsoft Visual C++ .NET 2002 with the Microsoft .NET Framework 1.0 |
msvcp71.dll, msvcr71.dll | Microsoft Visual C++ .NET 2003 with the Microsoft .NET Framework 1.1 |
msvcp80.dll, msvcr80.dll | Распространяемый пакет Visual C++ для Visual Studio 2005 |
msvcp90.dll, msvcr90.dll | Распространяемый пакет Visual C++ для Visual Studio 2008 |
msvcp100.dll, msvcr100.dll | Распространяемый пакет Visual C++ для Visual Studio 2010 |
msvcp110.dll, msvcr110.dll | Распространяемый пакет Visual C++ для Visual Studio 2012 |
msvcp120.dll, msvcr120.dll | Распространяемый пакет Visual C++ для Visual Studio 2013 |
msvcp130.dll, msvcr130.dll | Распространяемый пакет Visual C++ для Visual Studio 2013 |
msvcp140.dll, msvcr140.dll | Распространяемый пакет Visual C++ для Visual Studio 2015Распространяемый пакет Visual C++ для Visual Studio 2017 |
msvcp150.dll, msvcr150.dll | Распространяемый пакет Visual C++ для Visual Studio 2019 |
Стоит отметить, что каждая версия c 2005 по 2013 года работает независимо друг от друга, и не являются взаимозаменяющими. Иными словами, самая последняя установленная версия распространяемого пакета Microsoft Visual C++ не спасет вас от отсутствия файлов более ранних версий. Исключением являются последние выпуски распространяемых пакетов — 2015, 2017 и 2019 используют одни и те же файлы.
Так же важно запомнить, что даже в 64 разрядной системе, 32 битные приложения будут использовать файлы из 86 разрядной (32 битной) версии пакета
All in One Visual C++ Installers
If you are not comfortable to install 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 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.
Visual C++ Runtime Installer (All-In-One) v56
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.
Автоматический вывод параметров шаблонов
Ключевые правила:
- функции вида std::make_pair больше не нужны: смело пишите выражения std::pair{10, «hello»s}, компилятор сам выведет тип
- шаблонные RAII вида std::lock_guard guard(mutex); станут короче: std::lock_guard guard(mutex);
- функции std::make_unique и std::make_shared по-прежнему нужны
Вы можете создавать свои подсказки для автоматического вывода параметров шаблона: см. Automatic_deduction_guides
Интересная особенность: конструктор из initializer_list<> пропускается для списка из одного элемента. Для некоторых JSON библиотек (таких как json_spirit) это может оказаться фатальным. Не играйтесь с рекурсивными типами и контейнерами STL!
#include #include #include int main() { std::vector v{std::vector{1, 2}}; // Это vector, а не vector> static_assert(std::is_same_v, decltype(v)>); // Размер равен двум assert(v.size() == 2); }