Vcredist arm что это
Распространение файлов Visual C++
Распространяемые файлы и лицензирование
При развертывании приложения необходимо также развернуть файлы, поддерживающие это приложение. Если какие – либо из этих файлов предоставляются корпорацией Майкрософт, проверьте, разрешено ли их распространение. ссылка на условия лицензии Visual Studio в интегрированной среде разработки. используйте ссылку условия лицензии в диалоговом окне о Microsoft Visual Studio. также загрузите соответствующие лицензионные соглашения и лицензии из каталога Visual Studio License.
чтобы просмотреть список redist, на который имеется ссылка в разделе «распространяемый код» условия лицензионного соглашения на использование программного обеспечения майкрософт Visual Studio 2017, ознакомьтесь с разделом файлы распространяемого кода для Microsoft Visual Studio 2017.
чтобы просмотреть список redist, на который имеется ссылка в разделе «распространяемый код» условия лицензионного соглашения на использование программного обеспечения майкрософт Visual Studio 2015, ознакомьтесь с разделом файлы распространяемого кода для Microsoft Visual Studio 2015.
Дополнительные сведения о распространяемых файлах см. в разделе Определение библиотек DLL для повторного распространения и примеров развертывания.
Размещение распространяемых файлов
Установка распространяемых пакетов
Распространяемые пакеты Visual C++ позволяют устанавливать и регистрировать все библиотеки Visual C++. Если вы используете его, запустите его в качестве необходимого компонента в целевой системе, прежде чем устанавливать приложение. Рекомендуется использовать эти пакеты для развертываний, поскольку они включают функцию автоматического обновления библиотек Visual C++. Пример использования этих пакетов см. в разделе Пошаговое руководство. Развертывание приложения Visual C++ с помощью распространяемого пакета Visual C++.
Установка распространяемых модулей слияния
распространяемые модули слияния должны быть добавлены в пакет установщик Windows (или аналогичный пакет установки), который используется для развертывания приложения. Дополнительные сведения см. в разделе Распространение с использованием модулей слияния. Пример см. в разделе Пошаговое руководство. развертывание Visual C++ приложения с помощью Project установки.
Установка отдельных распространяемых файлов
Также можно напрямую установить распространяемые DLL-файлы в локальную папку приложения. Это папка, содержащая файл исполняемого приложения. В целях обслуживания мы не рекомендуем использовать это расположение установки.
Потенциальные ошибки времени выполнения
если Windows не удается найти одну из распространяемых библиотек dll, необходимых для приложения, может отобразиться сообщение следующего вида: «не удалось запустить приложение, так как не найдена библиотека.dll. Переустановка приложения может устранить эту проблему. «
Чтобы устранить эту ошибку, убедитесь, что установщик приложения построен правильно. Убедитесь, что распространяемые библиотеки правильно развернуты в целевой системе. Дополнительные сведения см. в разделе Основные сведения о зависимостях приложения Visual C++.
Связанные статьи
Распространение с помощью модулей слияния
Описывает использование Visual C++ распространяемых модулей слияния для установки библиотек среды выполнения Visual C++ в качестве общих библиотек DLL в %windir%\system32\ папке.
Распространение элементов управления ActiveX в Visual C++
Описание процедуры повторного распространения приложения, которое использует элементы управления ActiveX.
Распространение библиотеки MFC
Описание процедуры повторного распространения приложения, которое использует MFC.
Повторное распространение приложения ATL
Описание способа распространения приложения, которое использует ATL. Начиная с Visual Studio 2012, распространяемая библиотека для ATL не требуется.
Примеры развертывания
Ссылки на примеры, демонстрирующие развертывание приложений Visual C++.
Развертывание классических приложений
Представлены технологии развертывания Visual C++ и связанные понятия.
Общие вопросы использования Visual C++ ARM
При использовании компилятора Microsoft C++ (MSVC) один и тот же исходный код на C++ может давать в архитектуре ARM результат, отличный от результата в архитектуре x86 или x64.
Источники проблем с миграцией
Многие проблемы, возникающие при переносе кода из архитектуры x86 или x64 в архитектуру ARM, связаны с конструкциями исходного кода, которые могут вызывать неопределенное, определяемое реализацией или непредвиденное поведение.
Неопределенное поведение — это поведение, которое не определено в стандарте C++ и вызывается операцией, не имеющей разумного результата. Это могут быть преобразование значения с плавающей запятой в целое число без знака или сдвиг значения на число позиций, которое является отрицательным или превышает число битов в преобразуемом типе.
Поведение, определяемое реализацией — это поведение, которое в соответствии со стандартом C++ должно быть определено и задокументировано поставщиком компилятора. Программа может безопасно использовать поведение, определяемое реализацией, даже если это препятствует переносимости. К примерам поведения, определяемого реализацией, относятся размеры встроенных типов данных и требования к их выравниванию. Примером операции, которую может затрагивать поведение, определяемое реализацией, является доступ к списку переменных аргументов.
Непредвиденное поведение — это поведение, которое в стандарте C++ оставлено неопределенным преднамеренно. Хотя такое поведение считается недетерминированным, некоторые способы его вызова определяются реализацией компилятора. Однако поставщику компилятора не требуется предварительно определять результат или обеспечивать согласованное поведение при сопоставимых вызовах, а также предоставлять документацию. Примером непредвиденного поведения является порядок вычисления вложенных выражений, которые содержат аргументы вызова функции.
Причинами других проблем миграции могут быть аппаратные различия между архитектурами ARM с одной стороны и x86 или x64 — с другой. Они по-разному взаимодействуют со стандартом C++. Например, строгая модель памяти в архитектурах x86 и x64 наделяет переменные с указанием volatile дополнительными свойствами, которые ранее использовались для упрощения некоторых видов межпоточного взаимодействия. Однако нестрогая модель памяти в архитектуре ARM не поддерживает их использование, которое является необязательным согласно стандарту C++.
Хотя volatile предоставляет ряд свойств, которые можно использовать для реализации ограниченных способов межпоточного взаимодействия в архитектурах x86 и x64, этих дополнительных свойств недостаточно для реализации межпоточного взаимодействия в целом. Стандарт C++ вместо этого рекомендует реализовывать такое взаимодействие с помощью надлежащих примитивов синхронизации.
Так как на разных платформах такие типы поведения могут реализовываться по-разному, перенос программного обеспечения, зависящего от особенностей работы конкретной платформы, на другие платформы может быть непростой задачей. Несмотря на то, что поведение может казаться стабильным, его использование может делать перенос невозможным, а в случае с неопределенным или непредвиденным поведением — также приводить к ошибкам. Полагаться не следует даже на поведение, описанное в этом документе, так как оно может измениться в будущих версиях компилятора или реализациях ЦП.
Примеры проблем с миграцией
В оставшейся части документа описывается то, как разное поведение определенных элементов языка C++ может давать разные результаты на разных платформах.
Преобразование чисел с плавающей запятой в целые числа без знака
В архитектуре ARM при преобразовании значения с плавающей запятой в 32-разрядное целое число происходит дополнение до ближайшего значения, которое может представлять целое число, если значение с плавающей запятой выходит за рамки диапазона, представляемого целым числом. В архитектурах x86 и x64 при преобразовании происходит перенос, если целое число не имеет знака, или задается значение –2 147 483 648, если целое число имеет знак. Ни одна из этих архитектур не поддерживает прямое преобразование значений с плавающей запятой в целочисленные типы меньшего размера. Вместо этого выполняется преобразование в 32-разрядное значение, которое затем усекается до меньшего размера.
В случае с архитектурой ARM сочетание дополнения и усечения означает, что при преобразовании в типы без знака меньшего размера дополнение до 32-разрядного целого числа происходит корректно, но для значений, которые больше, чем представимые типом меньшего размера, но недостаточно велики для дополнения до полного 32-разрядного целого числа, результат усекается. При преобразовании дополнение для 32-разрядных целых чисел со знаком также происходит правильно, но усечение дополненных целых чисел со знаком приводит к значению –1 для положительно дополненных значений и 0 для отрицательно дополненных значений. Преобразование в целое число со знаком меньшего размера приводит к усеченному результату, который является непредсказуемым.
Для архитектур x86 и x64 сочетание переноса при преобразовании целых чисел без знака и явной оценки при преобразовании целых чисел со знаком в случае переполнения вместе с усечением приводит к непредсказуемым результатам для большинства операций сдвига, если они слишком велики.
Эти платформы также отличаются способом преобразования нечисловых значений в целочисленные типы. В ARM нечисловое значение преобразуется в 0x00000000, а в x86 и x64 — в 0x80000000.
Преобразование значения с плавающей запятой можно использовать только в том случае, если известно, что значение находится в пределах диапазона целочисленного типа, в который оно преобразуется.
Поведение оператора сдвига ( > )
В архитектуре ARM значение может сдвигаться влево или вправо максимум на 255 бит, прежде чем шаблон начнет повторяться. В архитектурах x86 и x64 шаблон повторяется через интервалы, кратные 32, если только источником шаблона не является 64-разрядная переменная. В этом случае шаблон повторяется через интервалы, кратные 64, в архитектуре x64 и интервалы, кратные 256, в архитектуре x86, где используется программная реализация. Например, для 32-разрядной переменной, которая имеет значение 1 и сдвигается влево на 32 позиции, в ARM результат равен 0, в x86 — 1, а в x64 — также 1. Однако если источником значения является 64-разрядная переменная, результатом на всех трех платформах будет 4 294 967 296, а значение не будет переноситься до тех пор, пока не будет сдвинуто на 64 позиции в x64 или на 256 позиций в ARM и x86.
Так как результат операции сдвига, при которой превышается количество битов в исходном типе, не определен, компилятор не обязательно должен работать согласованно во всех ситуациях. Например, если оба операнда сдвига известны во время компиляции, компилятор может оптимизировать программу с помощью внутренней подпрограммы для предварительного вычисления результата сдвига и последующей подстановки результата вместо операции сдвига. Если сдвиг слишком большой или отрицательный, результат внутренней подпрограммы может отличаться от результата того же выражения сдвига, выполняемого ЦП.
Поведение переменных аргументов (varargs)
В этом случае ошибку можно исправить, обеспечив использование правильной спецификации формата, учитывающей выравнивание аргумента. Вот правильный код:
Порядок вычисления аргументов
Так как процессоры ARM, x86 и x64 различаются, они могут предъявлять разные требования к реализации компилятора, а также разные возможности для оптимизации. По этой причине, наряду с другими факторами, такими как соглашение о вызовах и параметры оптимизации, компилятор может обрабатывать аргументы функции в разном порядке в разных архитектурах или при изменении других факторов. Это может привести к непредвиденному изменению в работе приложения, использующего определенный порядок вычисления.
Подобная ошибка может возникнуть, если аргументы функции побочно влияют на другие аргументы функции в том же вызове. Обычно такой зависимости легко избежать, но иногда ее может быть трудно заметить, например из-за перегрузки операторов. Рассмотрим следующий пример кода:
Поведение ключевого слова volatile по умолчанию
В архитектурах x86 и x64 по умолчанию применяется параметр /volatile:ms, так как большая часть программного обеспечения, уже созданного для этих архитектур с помощью MSVC, предусматривает его использование. При компиляции программ для архитектур x86 и x64 можно указать параметр /volatile:iso, чтобы избежать ненужной зависимости от традиционной семантики volatile и улучшить переносимость.
990x.top
Простой компьютерный блог для души)
vc_redist.arm64.exe — что это?
Приветствую друзья Сегодня мы разберем предназначение одного файла с расширением exe, что уже говорит о том, что он исполняемый. Такие файлы, если они вам неизвестны — лучше просто так не запускать, это может быть вирус, который после открытия начнет свое коварное дело..
vc_redist.arm64.exe — что это?
Пакет дополнительных библиотек Microsoft Visual C++ для платформы ARM, сами библиотеки нужны для корректной работы некоторых приложений.
Смотрите, программисты создают программы. Верно? Да. Но на самом деле им не нужно создавать абсолютно все функции — многие функции уже были созданы раньше, они уже протестированы, доведены до ума и отточены. Чтобы использовать уже готовые функции — нужен специальный инструмент для написания программ, например Visual Studio. Но чтобы программы, которые были созданы этим инструментом — корректно работали потом у пользователей, нужно на ПК пользователя установить специальный компонент и называется он Распространяемые пакеты Visual C++ для Visual Studio или просто Microsoft Visual C++. Многие программы при установке требуют этот компонент, при этом существует разные версии его, они отличаются в основном годом выпуска.
Так вот, самое главное еще, кроме версий — эти компоненты отличаются типом поддерживаемой платформы, то есть:
ARM… но зачем? И здесь тоже все просто. Соотношение производительности и энергопотребления — намного лучше, чем в современных системах (x86). Поэтому и стали выпускать ноутбуки на ARM-процессорах, которые могут работать очень долго без подзарядки, но стоят дорого, поэтому пока у них популярности особой и нет..
На сайте Microsoft при скачивании пакета будет выбор — vcredist_arm.exe предназначен только для систем, которые основаны на ARM-процессоре.
И еще — учитывая что 64-битная винда поддерживает оба типа приложений, то есть как 32-битные, так и 64 — то лучше качать сразу оба пакета, на всякий случай:
Ну а ARM-пакет качать то как раз и нет смысла никакого в большинстве случаев.
Нужно ли устанавливать vcredist_arm.exe?
Нужно ставить только, если у вас компьютер на основе ARM-процессоров. Вероятность, что это именно так — минимальна. Поэтому в 99% данный тип пакета устанавливать вам полностью не нужно.
Не знаю сколько еще должно пройти времени, чтобы ARM-компьютеры стали массовыми. Процессоры хороши, спору нет, но сейчас в 99% они используются в смартфонах, но не в ноутбуках.
Нет, конечно, если у вас какой-то дорогой и уникальный планшет на Windows — то возможно он работает на основе ARM-процессоре. Но это нужно проверить. Как? Например использовать софт AIDA64, там есть подробная информация о железе.
Заключение
Надеюсь информация помогла. Удачи и добра, до новых встреч друзья!
Microsoft Visual C Redistributable. Что это? Как скачать и установить?
Microsoft Visual C Redistributable – это необходимая библиотека для запуска большинства современных игр. Разберем для чего она? Где скачать? И, наконец, как установить!
Практически любой активный геймер, предпочитающий запускать более-менее современные игры, сталкивался с необходимостью установки Microsoft Visual C Redistributable. Этот программный пакет очень важен, так как большая часть игр последних лет без него просто откажутся запускаться.
Что такое Microsoft Visual C++ Redistributable?
Так что же такое этот “Redistributable” пакет? Для чего он нужен? Это библиотека компонентов, которые программисты-разработчики программ (в том числе и игр) использовали при разработке в Visual studio. Да, MS Visual Studio – самая распространенная среда разработки ААА игр.
Redistributable пакет из коробки
Как правило, с установкой никаких проблем не возникает. Все крупные сервисы цифровой дистрибуции игр, будь то Steam, Origin, Uplay и их аналоги, всегда заботятся о поддержке игроков. Например, в Steam DirectX, Microsoft Visual C++ Redistributable и другой нужный для запуска той или иной игры софт ставится автоматически при первом запуске продукта, а Ориджин предлагает в начале установки выбрать, хотите ли вы поставить программу (нужно отметить галочкой).
Однако, дружок, если ты привык качать пиратский контент с торрентов, далеко не всегда игра будет комплектоваться набором необходимых библиотек. Иногда приходится заходить на официальный сайт Microsoft и вручную загружать оттуда свежий дистрибутив.
О старых версиях C++. Нужно ли их удалять?
Если перейти по адресу Пуск – Панель управления – Установка и удаление программ, в списке можно найти с десяток наименований различных версий Microsoft Visual C++. Версии х86 и х64, версии 2005, 2008, 2010, 2017, различные численные нумерации и т.д. Пользователи вполне логично полагают, что имеющаяся версия 2017 года самая новая, а остальное можно смело удалять, также как и версии для х86 систем, если они в данный момент сидят на 64-разрядной версии операционной системы.
Так вот – шиш! Удалять их нельзя 🙂 Впрочем, Вы можете, но какая-то из ваших программ, или игр перестанет запускаться 🙂 И вы заранее не знаете какая. Классно, правда?
Не стоит удалять разные версии – какие-то случайные программы перестанут работать
В общем так это не работает, нельзя рассчитывать, что более свежая версия обладает обратной совместимостью. Более старые игры используют устаревшие версии Microsoft Visual C++ Redistributable, поэтому отсутствие в системе необходимой версии программного пакета приведет к невозможности запуска. То же самое касается и различных разрядностей (х86, x64) – они также могут использоваться программами и играми.
Как вручную скачать Microsoft Visual C++ Redistributable
Практически весь перечень программных пакетов и клиентских продуктов, разрабатываемых компанией Microsoft, доступен у них на официальном сайте. Крайне нежелательно заходить на сторонние ресурсы, тыкая на первую попавшуюся ссылку в поисковой системе, так как в этом случае нельзя быть точно уверенным, что под установщик не был замаскирован какой-нибудь вирус, шпионское ПО или майнер криптовалют.
На выбор для скачивания предоставляется множество ссылок с различными разрядностями и версиями программного пакета C++. Общий вес их небольшой – много дискового пространства на винчестере они не потребуют. Поэтому имеет смысл сразу поставить весь список (2008, 2010, 2012, 2013, 2015, 2017). Одни понадобятся для уже относительно старых игр и программ, другие – для современных новинок. Сама установка интуитивно понятна.
Как переустановить библиотеки Visual C++
Версии Microsoft Visual C++ Redistributable по годам и архитектурам
Microsoft Visual C++ Redistributable 2005
Microsoft Visual C++ Redistributable 2008
Microsoft Visual C++ Redistributable 2010
Microsoft Visual C++ Redistributable 2012
Microsoft Visual C++ Redistributable 2013
Microsoft Visual C++ Redistributable 2015
Microsoft Visual C++ Redistributable 2017
Если все сделано правильно, ничто не помешает вам запустить понравившуюся игру. Исключение составляют ситуации, когда для запуска требуются еще некоторые компоненты, например, свежая версия библиотек DirectX, NET Framework или PhysX. Понять о необходимости установки/обновления дополнительного софта можно по высвечивающимся сообщениям об ошибках. Просто введите код ошибки в Google или в поиске на профильном форуме, чтобы найти инструкцию по решению проблемы. Все очень просто.
Последние поддерживаемые загрузки Распространяемого компонента 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
в этой таблице перечислены последние поддерживаемые версии английского языка (en-US) Microsoft Visual C++ распространяемых пакетов для Visual Studio 2015, 2017, 2019 и 2022. Последняя поддерживаемая версия содержит самые последние реализованные функции C++, безопасность, надежность и улучшения производительности. Он также включает последние обновления соответствия стандартов языка C++ Standard и библиотеки. рекомендуется установить эту версию для всех приложений, созданных с помощью Visual Studio 2015, 2017, 2019 или 2022.
Architecture | Ссылка | Примечания |
---|---|---|
ARM64 | https://aka.ms/vs/17/release/vc_redist.arm64.exe | Постоянная ссылка на последнюю поддерживаемую версию ARM64 |
X86 | https://aka.ms/vs/17/release/vc_redist.x86.exe | Постоянная ссылка на последнюю поддерживаемую версию x86 |
X64 | https://aka.ms/vs/17/release/vc_redist.x64.exe | Постоянная ссылка на последнюю поддерживаемую версию x64. Распространяемый пакет x64 содержит двоичные файлы ARM64 и x64. Этот пакет упрощает установку необходимых Visual C++ двоичных файлов ARM64 при установке распространяемого пакета x64 на устройстве ARM64. |
Загрузите другие языки и версии, включая версии для каналов долгосрочного обслуживания (LTSC), от My.VisualStudio.com.
Некоторые файлы для загрузки, упомянутые в этой статье, в настоящее время доступны в My.VisualStudio.com. войдите в систему, используя учетную запись Visual Studioной подписки, чтобы получить доступ к ссылкам для загрузки. если вы запрашиваете учетные данные, используйте существующую учетную запись Visual Studioной подписки. Или создайте бесплатную учетную запись, выбрав ссылку без учетной записи. Создайте его.
Примечания
Visual Studio версии, начиная с Visual Studio 2015, совместно используют одни и те же распространяемые файлы. например, любые приложения, созданные с помощью наборов инструментов Visual Studio 2015, 2017, 2019 или 2022, могут использовать последнюю версию Microsoft Visual C++ распространяемого пакета. однако версия распространяемого пакета Microsoft Visual C++, установленного на компьютере, должна быть той же или выше, чем версия набора инструментов Visual C++, используемого для создания приложения. Дополнительные сведения о версии распространяемого пакета для установки см. в разделе Определение библиотек DLL дляповторного распространения.
Visual Studio 2013 (VC++ 12,0)
эти ссылки загружают новейшие распространяемые пакеты en-US Microsoft Visual C++ для Visual Studio 2013. Другие версии и языки можно загрузить из обновления для распространяемого пакета Visual C++ 2013 или из My.VisualStudio.com.
Architecture | Версия | Ссылка |
---|---|---|
X86 | 12.0.40664.0 | vcredist_x86.exe |
X64 | 12.0.40664.0 | vcredist_x64.exe |
Другие версии
обновление 4 для Visual Studio 2012 (VC++ 11,0)
эти ссылки загружают последние версии поддерживаемых en-US Microsoft Visual C++ распространяемых пакетов для Visual Studio 2012 с обновлением 4. другие версии и языки можно загрузить из Microsoft Visual C++ распространяемых пакетов для Visual Studio 2012 с обновлением 4 или my.visualstudio.com.
Architecture | Версия | Ссылка |
---|---|---|
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) (больше не поддерживается)
пакет обновления 1 (sp1) для Visual Studio 2010 достиг конца расширенной поддержки 14 июля 2020
Скачайте распространяемые файлы для других языков и архитектур из:
Visual Studio 2008 (VC++ 9,0) с пакетом обновления 1 (SP1) (больше не поддерживается)
пакет обновления 1 (sp1) для Visual Studio 2008 достиг конца расширенной поддержки 10 апреля 2018
Скачайте распространяемые файлы для других языков и архитектур из: