Windows SDK高级问题 - 向后兼容性,升级 [英] Windows SDK high level questions - backwards compatibility, upgrading

查看:154
本文介绍了Windows SDK高级问题 - 向后兼容性,升级的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我们正在努力解决针对不同Windows SDK版本的大量C ++项目,并希望整合到一个版本。但是,我们希望确切地知道Windows SDK的版本
实际上是什么/意味着什么。

We are struggling with a number of C++ projects targeting different windows SDK versions and want to consolidate to one single version. However, we want to be clear exactly what the version number of the Windows SDK actually does / means.




维基百科说:

Wikipedia says:




Microsoft Windows SDK及其前身Platform SDK和.NET Framework SDK是Microsoft的软件开发工具包(SDK),包含文档,头文件,库,示例
以及开发Microsoft Windows和.NET Framework应用程序所需的工具。


Microsoft Windows SDK, and its predecessors Platform SDK, and .NET Framework SDK, are software development kits (SDKs) from Microsoft that contain documentation, header files, libraries, samples and tools required to develop applications for Microsoft Windows and .NET Framework.




特别是,它提到库的事实似乎表明在编译时,如果将库
代码烘焙到我们正在构建的任何内容中,我们在SDK版本中进行的API调用的功能可能会有所不同。

In particular, the fact that it mentions libraries seems to indicate that at compile time, the functionality of the API calls we are making across SDK versions could behave differently if the library code is baked into whatever we're building.




但是,Microsoft SDK网站似乎建议SDK中的更改只是新增功能,新工具,新样本。没有提及,例如,错误修正或性能
改进意味着图书馆的变化。

However, the Microsoft SDK site seems to suggest that the changes in the SDK are only additions - new features, new tools, new samples. There is no mention of, for example, bugfixes or performance improvements which would imply library changes.




第二个number是次要版本,其他API不向后兼容,第3个版本通常是补丁版本,例如错误修复和性能改进。鉴于在"补丁"版本中似乎有新的API调用,$ b我正确认为API版本控制不遵循语义版本,我们无法读取版本号系统中的任何内容?

Also, the windows SDK versions seem to follow a semantic versioning scheme, such as 10.0.14393. Normally semantic versioning means that the first number is a major release, with breaking changes. The second number is a minor release, with additional APIs which are not backwards compatible, and the 3rd number is typically patch releases, such as bug fixes and performance improvements. Given that there seems to be new API calls in a 'patch' release, am I right in thinking the API versioning is not following semantic versioning and we cannot read anything into the version number system?




大多数在线文档似乎都是关于UWP版本定位,目标版本和最低版本,这是有意义的,因为你可以使用来自Target的API调用,前提是你需要
包装调用在最小版本消费者忽略的代码块中。然而,在Visual Studio中编译C ++项目时,我们只看到目标版本,而不是最低版本。所以最好知道这对消费者意味着什么。

Most of the documentation online appears to talk about the UWP version targeting, with a Target Version and a Minimum Version, which makes sense as you can use API calls from Target provided you wrap the calls in a block of code which is ignored for minimum version consumers. However when compiling C++ projects in Visual Studio we only see a Target Version, not a Minimum Version. So it would be good to know exactly what this means for consumers.




如果我们针对最新的SDK进行构建,我们是否必须担心我们的应用程序无法在稍微旧版本的Windows 10上运行?

Do we have to worry about our application not working on slightly older versions of windows 10 if we build against the latest SDK?

我真的在寻找信息,以帮助我们决定是否一般我们应该建立一个相当旧的SDK(假设我们不需要任何新功能)或使用
最新。

I am really looking for information to help guide us to the decision as to whether in general we should build against a fairly old SDK (provided we dont need any of the new features) or use the latest.




谢谢,

Thanks,

Mike

Mike

推荐答案

看一看在
https://developer.microsoft.com/en-us/windows / downloads / windows-10-sdk

它表示   -

It indicates   -


支持的操作系统



  • Windows  10 App Development(UWP)

    • Windows  10 1507或更高版本:Home,Professional,Education,and Enterprise(不支持LTSB和S)
    • Windows Server 2012 R2(仅限命令行)Windows Server 2016(仅限命令行)

  • Win32开发

    • Windows  10版本1507或更高版本
    • Windows Server 2016 :标准版和数据中心
    • Windows 8.1
    • Windows Server 2012 R2
    • Windows 7 S P1

    (早期操作系统不支持所有工具)

    (Not all tools are supported on earlier operating systems)

    这篇关于Windows SDK高级问题 - 向后兼容性,升级的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆