微软对Rust的承诺体现在它是Rust基金会的创始成员,以及近几个月众多语言和工具开发人员加入了微软。微软现在宣布了自己的一套工具,用于使用Rust构建和开发Windows代码,这些工具基于让它得以交付C ++ / WinRT API投射的同样的Windows功能。
Rust for Windows的核心是支持Windows API元数据动态生成API代码的Rust crate。您将需要开发环境中的C ++构建工具,或使用Visual Studio Code中的独立工具,或使用完整安装的Visual Studio。这确实意味着它不是免费软件:您需要Visual Studio许可证才能使用C ++工具。(如果您在构建开源项目或者是个人开发者,可以使用免费的社区版。)
可以从Rust网站下载32位和64位版本的Rust for Windows编译器。rustup工具为您的开发系统下载所有适当的组件,一个简单的命令行工具帮助定制安装。如果您使用Code,还要安装另外几个扩展程序:添加Rust语言服务器以用于IntelliSense代码高亮显示和提示的rust-analyzer,以及用于调试的CodeLLDB或微软的C/C ++扩展。一旦安装到位,您可以开始使用Rust for Windows了。
走近Rust for Windows crate
对Windows开发人员而言最重要的工具之一是它支持语言投射。这项技术让开发工具可以从Windows为其SDK提供的元数据来生成针对特定语言的API。有了语言投射支持,微软无需为每种受支持的语言编写API,增添了越来越多的Windows SDK的复杂性,并使每种受支持的语言更难与Windows保持同步。
该技术确保Rust要获得Windows支持,只需要适当的语言投射,然后根据需要自动生成API。微软无需为受支持的语言提供SDK,任何新语言只需要自己的语言投射,即可获得Windows的支持。这种开发任务的复杂性低得多;随着新的Windows API发布(比如在Project Reunion中),API团队只需要元数据定义。
您可以使用Visual Studio和Visual Studio Code中的Rust工具,编写可在任何地方运行的Rust模块,但是如果您打算将其用于Windows开发,需要安装Rust for Windows工具才能访问Windows API。微软的Rust服务是GitHub上的一个开源项目。当前版本以Rust crate的形式出现,可以从Rust crate代码库来安装。