Windows SDK ограничивает допустимые версии Windows?

Мы переходим на Visual Studio 2017, и VS2017 предлагает нам перенастроить проекты на две вещи: версию Windows SDK и набор инструментов платформы.

В настоящее время наше приложение может работать на более старых версиях Windows (по крайней мере, до Server 2003, возможно, более старых), и мы должны сохранить их (я знаю, что они больше не поддерживаются, но это требование заказчика).

Предполагая, что в нашем коде (который на всех языках C++ на случай, если что-то изменится) не используются API-интерфейсы, доступные только в более новых версиях Windows, будет изменен таргетинг на более новую версию Windows SDK, что ограничит или ограничит версии Windows. что наше приложение будет работать?

И хотя по этому вопросу, будет ли повторное нацеливание на более новую версию Windows SDK иметь какие-либо плюсы или минусы (например, производительность) (опять же, при условии, что мы не используем ни один из новых API, которые доступны только в более новой Windows)?

2 ответа

Решение

Нет, использование более нового SDK позволяет использовать более новую функциональность, но это не требует этого. До тех пор, пока вы будете осторожны, используйте только те функции, которые присутствуют в той версии Windows, которая вас интересует, и ваша программа продолжит работать. Однако вам, вероятно, потребуется установить среду выполнения vs2017 на клиентских системах.

Вам понадобится среда исполнения VC++ для комплекта разработки, из которого вы строите. Статическое связывание этой библиотеки устранит это требование, поскольку среда выполнения встроена в ваш двоичный файл.

Другие вопросы по тегам