Visual studio x64 x86 чем отличается
Что такое цель компиляции "Любой процессор" и какие файлы она генерирует? Я рассмотрел выходной исполняемый файл этой сборки "Any CPU" и обнаружил, что они являются исполняемыми файлами x86 (кто не увидит этого!). Итак, существует ли разница между таргетингом исполняемого файла на x86 и "Any CPU"?
Еще одна вещь, которую я заметил, заключается в том, что управляемые проекты на С++ не имеют этой платформы в качестве опции. Почему это? Означает ли это, что мои подозрения в том, что исполняемые файлы "Любой процессор" являются простыми 32-битными, правильно?
Сборка AnyCPU преобразуется в 64-битный код при загрузке в 64-битный процесс и 32-битный при загрузке в 32-битный процесс.
Ограничивая процессор, вы бы сказали: сборка использует что-то (что, вероятно, неуправляемо), для чего требуется 32 или 64 бита.
Я думаю, что большинство важных вещей было сказано, но я просто хотел добавить одну вещь: если вы скомпилируете как Any CPU и работаете на платформе x64, то вы не сможете загрузить 32-битные dll, потому что Ваше приложение не было запущено в WOW64, но эти библиотеки должны работать там.
Если вы скомпилируете как x86, то система x64 запустит ваше приложение в WOW64, и вы сможете загрузить 32-битные библиотеки DLL.
Поэтому я думаю, что вы должны выбрать "Любой процессор", если ваши зависимости могут работать в любой среде, но выбрать x86, если у вас есть 32-битные зависимости. Эта статья от Microsoft объясняет это немного:
Кстати, эта другая документация Microsoft соглашается с тем, что x86 обычно является более переносимым выбором:
Выбор x86, как правило, является наиболее безопасной конфигурацией для пакета приложения, поскольку он будет работать практически на каждом устройстве. На некоторых устройствах пакет приложения с конфигурацией x86 не запускается, например, Xbox или некоторые устройства IoT Core. Однако для ПК пакет x86 является самым безопасным выбором и обладает наибольшим охватом для развертывания устройства. Значительная часть устройств Windows 10 продолжает работать под управлением версии x86 для Windows.
Сегодня у пользователей на компьютерах установлены операционные системы, в основном от компании Microsoft , то есть Windows . Но эта операционная система различается не только редакциями ( Home , Professional ит.д.), но и разрядностью.
Но в простонародии говорят не 64 или 32 разрядная система, а 32 битная операционная система. Далее так писать и буду.
Сейчас все больше пользователей переходит на 64 битную версию . Но еще у многих на ПК установлена х86 ( 32 битная версия ).
И тут возникает вопрос, в чем разница между 32 битной и 64 битной системой?
Windows x86 (32)
Друзья, эта операционная система не умеет работать с объемом оперативной памяти, превышающей 4 гигабайта (а на самом деле и с 4 гигами не умеет, лишь где-то 3-3,5 гига). По этому если на компьютере установлена 32 разрядная операционка, а памяти в ПК больше 4 гигов, то остальные гигабайты будут просто бесполезной "роскошью" . Так же эта система не может работать с программами, которые предназначены для х64 битной Windows .
Кстати, посмотреть какая операционная система установлена у вас можно следующим образом. На рабочем столе наводим курсор на значек "Мой компьютер" и кликаем правой кнопкой мыши.
В открывшемся меню выбираем строчку "свойства" и кликаем по ней. В открывшемся окне будет показана информация о системе: какой процессор установлен, сколько памяти, а также ее разрядность . Например, у меня установлена 64 битная операционная система , это видно по картинке.
32 битная система, можно сказать "устарела" , хотя все еще очень популярна. Такие системы устанавливают на слабые компьютеры, где материнская плата не поддерживает больше четырех гигабайт оперативки. Да, да, друзья, такие компьютеры все еще используются и их немало. Или в ПК, где у пользователя лишь 3 или 4 гига памяти. Если установить на такой компьютер систему х64, то ей будет мало этого объема оперативной памяти. Отсюда, как вы наверное догадались, медленная (с тормозами) работа компьютера.
Актуальность перехода с х32 на х64 операционную систему имеет смысл лишь при объеме оперативной памяти в 6-8 гигабайт и выше.
Windows x64
64 битная система работает в разы быстрее. Но для этой "версии" операционки не такое большое количество программ, как у выше описанной, хотя их количество увеличивается постоянно. Но этот недостаток является не существенным потому, что большинство программ от х86 (32) подходят и прекрасно работают в режиме совместимости на 64 битной операционке, правда с той же производительностью, если б они работали на 32 битной системе. Конечно слишком старые (32 битные программы) запустить не удастся.
Максимальный объем оперативной памяти, с которой 64 разрядная система может работать на сегодняшний день, например для операционки Windows 7 равняется 192 гигабайтам. Например "домашняя базовая" редакция поддерживает лишь до 8 гигабайт оперативки, "домашняя расширенная" до 16 гигов. Ну а уже более современные (поздние) версии операционной системы Windows 7 поддерживают объем, который описан выше.
Стоит ли переходить с х86 (32) на х64?
Если компьютер имеет 64 битный процессор и более 4 гигабайт оперативки , то однозначно нужно переходить, так как компьютер может намного больше, но ограничен операционкой в 32 бита.
Если параметры Пк более скромные, то не стоит. В этой ситуации системе не хватит ресурсов и получится не компьютер, а "тормоз" . Лучше остаться на 32 битной версии.
В общем какую операционную систему устанавливать на свой ПК решать вам.
Спасибо за прочтение данной статьи. Не стесняйтесь комментировать и ставьте палец вверх.
Распространяемые пакеты Microsoft Visual C++ (Visual C++ Redistributable) содержат необходимые компоненты для запуска игр и программ, разработанных с помощью соответствующих версий Visual Studio и, как правило, нужны при ошибках вида «Запуск программы невозможен» так как файлы DLL с названиями, начинающимися с msvcr или msvcp отсутствуют на компьютере. Чаще всего требуются компоненты Visual Studio 2012, 2013 и 2015, но есть возможность загрузки и установки распространяемых пакетов Visual C++ 2005-2019.
В этой статье вы узнаете, как скачать распространяемые пакеты Visual C++ с сайта Майкрософт
Далее в инструкции способы скачать распространяемые компоненты Visual C++ для Windows 10, 8.1 и Windows 7, x64 и x86 (32-бит) официальным способом с сайта Майкрософт и путем установки из стороннего источника, о проблемах, с которыми можно столкнуться при установке и дополнительная информация, которая может оказаться полезной.
Загрузка распространяемых пакетов Visual C++ с сайта Майкрософт
Первый из способов скачать компоненты Visual C++ — официальный и, соответственно, самый безопасный. Для загрузки доступны следующие компоненты (при этом некоторые из них можно загрузить разными способами).
- Visual Studio 2015-2019 — при установке этого набора устанавливаются все необходимые компоненты Visual C++ 2015, 2017 и 2019 в рамках одного файла установщика.
- Visual Studio 2013 (Visual C++ 12.0)
- Visual Studio 2012 (Visual C++ 11.0)
- Visual Studio 2010 SP1
- Visual Studio 2008 SP1
Порядок загрузки компонентов будет следующим:
Также на сайте Майкрософт доступны отдельные страницы для загрузки распространяемых пакетов Microsoft Visual C++ список таких страниц далее:
После скачивания нужных компонентов Visual C++, запускаем загруженные файлы и проходим весь процесс установки.
Основная масса игр и программ требует установленного Microsoft Visual C++ — без этого пакета приложения просто не запустятся. При этом пользователи будут видеть многочисленные ошибки, так или иначе связанные с MSVC, самая распространённая из которых — runtime library error.
Обычно при установке приложений Microsoft Visual C++ redistributable package устанавливается автоматически, но не исключены и некоторые ошибки, возникающие в процессе инсталляции. В большинстве случаев это связано с использованием контрфактного ПО или с вирусными атаками.
Разновидности пакетов
Существует несколько версий продукта, в том числе и под разные архитектуры. Как и большинство приложений, Microsoft Visual C++ выпускается для систем 32/ 64bit, и рекомендуется использовать полностью совместимый пакет, чтобы исключить возможные ошибки при работе. На ОС х64 может быть установлена как 32-разрядная (x86), так и 64-разрядная (x64) версия, и в большинстве случаев для запуска игр в таких системах требуется наличие обоих пакетов.
С чего начать установку 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 Service Pack 1 Redistributable Package ATL Security Update
Microsoft Visual C++ 2008
Microsoft Visual C++ 2008 пакет обновления 1 (SP1) (x86)
Microsoft Visual C++ 2008 пакет обновления 1 (SP1) (x64)
Microsoft Visual C++ 2010
Распространяемый пакет Microsoft Visual C++ 2010 (x86)
Распространяемый пакет Microsoft Visual C++ 2010 (x64 --- )
Microsoft Visual C++ 2012
Распространяемый пакет Visual C++ для Visual Studio 2012 Обновление 4
Microsoft Visual C++ 2013
Распространяемые пакеты Visual C++ для Visual Studio 2013
Microsoft Visual C++ 2015
Распространяемый компонент Microsoft Visual C++ 2015 Обновление 3
Microsoft Visual C++ 2017
Microsoft Visual C++ 2015-2017-2019
Внимание: Visual C++ 2015, 2017 и 2019 содержат одинаковые распространяемые файлы.
Но есть нюанс, установка на компьютер 2019 версии может повлиять на игры или программы написанные на ранее созданных версия 2015 и 2017. А вот если установить отдельно пакет Visual C++ 2015, то он не заменит файлы более поздних версий. Visual C++ версий 2013 и более ранние, не относятся к данному пункту, т.к у них свои собственные файлы не зависимые друг от друга
Будем рады услышать от Вас отзыв, также поможем при установке компонентов, и в исправлении ошибок. Пишите всё в комментариях, чуть ниже
Читайте также: