0

По умолчанию Visual Studio 2012 не поддерживает Windows XP и Windows Server 2003. И до обновления 1 эти ОС не поддерживались вообще. Теперь с обновлением 1 я могу использовать Visual Studio 2012 для создания приложений, ориентированных на Windows XP и Windows Server 2003, путем выбора vs110_xp toolset. Отлично.Что делать, если я не компилирую DLL с vs110_xp?

Интересно, что происходит, когда я забываю это сделать? Что означает «не поддерживает»? Исполняемые файлы всего don't run: «... не является допустимым приложением Win32».

Но что будет, если я использую такие DLL-файлы на XP? Я не могу найти никакой информации об этом. И, к сожалению, я сейчас не могу попробовать. Кто-нибудь нашел конкретные проблемы?

ответ

3

Программа просто не сможет начать и не сработать немедленно. Наиболее важным изменением в VS2012 является то, что теперь он указывает Windows версии 6.0 в /SUBSYSTEM linker option. Window XP заметит это, это версия 5.02, взламывает руки и не запускает запрос на запуск EXE или загрузку DLL с помощью ERROR_BAD_EXE_FORMAT.

Довольно важные изменения, связанные с адаптацией, которые Windows запускает для исполняемых файлов, которые говорят, что они были созданы для работы с старыми версиями Windows, довольно затруднительны. Опасность Aero трудно решить, если вам интересно. ЭЛТ также сильно изменилась, используя еще много функций winapi, которые доступны только в версии 6.0 и выше. Обновление Update1 хромает, когда он обнаруживает, что они отсутствуют.

 Смежные вопросы

  • Нет связанных вопросов^_^