Visual C++ Windows 10 工具组件技术概览

[原文发表地址]Visual C++ Tools for Windows 10 Technical Preview

[原文发表时间] 2015/3/27 12:41PM

早前,我们宣布生成Windows10 应用程序的第一个Visual Studio 2015预览版已经可以使用了。C++仍然是生成Window 应用的一门重要的编程语言,在这篇博客中也会着重强调。我们想重点介绍在Windows10 应用开发上的C++的一些特定的功能。

Windows universal 应用

你可以发现一些新的C++ 工程模板,这些工程模板可以用来创建Windows universal 应用:

API contracts

Windows 10 工具通过API contracts(像这里所写的)可以让你创建通用的应用程序。这个功能运行的时候,可以在你调用相关的API之前检测Windows版本上的功能,像下面所示的代码那样:

API contracts的功能已经加入到C++编译器和生成系统。

Universal应用程序的C++ 运行时库的依赖

像Windows Store 应用程序那样,用C++语言所写的Window10 通用应用程序通常靠framework 包来满足他们C++库运行时的依赖关系。然而这个预览版已经发布了,我们已经提供了一个临时机制,所需的C++ Runtime Dlls会被直接复制到应用包中,也将会和应用程序一起部署。这只是一个临时的解决方法,将来我们还会使用framework 包来完成。

请记住,我们为Universal CRT所做的所有工作,universal应用都是同样有用的。因为这些apps 使用VC++ 2015工具集生成的,它们将会依赖Universal CRT并且在Windows 10操作系统上自己找到。

Windows SDK(s)

你们中的一些人或许在上面的声明以前就安装了Visual Studio 2015 CTP6。加入你还没有安装Win10工具组件,那么所有的Windows 桌面 C++ 应用工程(MFC,Win32,控制台等)生成的时候会使用VS2015 CTP6里面的Windows 8.1 SDK,它可以在下面这个路径下找到:

{Program Files (x86)}\Windows Kits\8.1

然而,当你额外安装Tools for Windows 10 Technical Preview,它会使用新的Windows 10 SDK(预览版),下面的路径可以找到它:

{Program Files (x86)}\Windows Kits\10

Windows 10 SDK 提供了很多新的API,即使是通用应用程序之外的一些应用也是可以使用其中一些API的,比如桌面应用程序就可以使用它们。 因此,为了使Windows10 SDK可以很方便的实现调用,我们已经修改了VS2015 CTP6的方式,让所有的Windows 桌面应用工程(MFC, Win32,Console等)转而使用Windows 10 SDK.这个切换只会发生在安装Windows 10 SDK,否则它只会使用默认的Windows 8.1 SDK。

这只是关于通用程序C++开发体验我们所做的其中一些改变的简单介绍,在接下来的几个月会继续聊聊我们为C++所做的特定的工作,以及接下来的我们在C++方面的计划。我们希望你们可以尝试使用这些工具,并给我们一些反馈或者你们的问题。