Rust for Windows 和 windows crate

 

Rust for Windows 简介

在“ 使用 Rust 的 Windows 开发概述 ”主题中,我们演示了一个简单的应用,用于输出 Hello, world! 消息。 但不仅可以在 Windows 上使用 Rust,还可以使用 Rust Windows 编写应用。

可以在 GitHub 上的 Rust for Windows 存储库的发布日志 中找到所有最新更新。

使用 Rust for Windows,可以通过 windows crate(crate 是 Rust 对二进制文件或库的术语,和/或生成到其中的源代码的术语)直接、无缝地使用任何(过去、现在和将来的)Windows API。

无论是无时间限制的函数(如 CreateEventWWaitForSingleObject)、功能强大的图形引擎(如 Direct3D)、传统窗口函数(如 CreateWindowExWDispatchMessageW),还是更新的用户界面 (UI) 框架(如 Composition),windows crate 都能满足你的需求。

win32metadata 项目旨在为 Win32 API 提供元数据。 此元数据描述了 API 表面:强类型 API 签名、参数和类型。 这使得整个 Windows API 能够以自动化和完整的方式呈现给 Rust 及其他语言(如 C# 和 C++)以便使用。 另请参阅 使 Win32 API 更易于被更多语言访问

作为 Rust 开发人员,你将使用 Cargo(Rust 的包管理工具)以及 https://crates.io (Rust 社区箱注册表)来管理项目中的依赖项。 好消息是,你可以从 Rust 应用中引用windows crate,随后立即开始调用 Windows API。 还可以在 https://docs.rs 上找到 Rust 关于 windows crate 的文档

C++/WinRT 类似, Rust for Windows 是在 GitHub 上开发的开源语言投影。 如果对 Rust for Windows 有疑问,或者想要报告其问题,请使用 Rust for Windows 存储库。

Rust for Windows 存储库中也有一些可供参考的简单示例。 Robert Mikhayelyan 的扫雷游戏就是一个很好的示例应用。

为 Rust for Windows 项目做贡献

Rust for Windows 欢迎你的贡献!

Windows API 的 Rust 文档

Rust for Windows 受益于 Rust 开发人员所享受的成熟完善的工具链。 但是,如果让整个 Windows API 能够被轻松调用是一项艰巨任务,则还可以参阅 Rust 关于 Windows API 的文档

此资源实质上记录了如何将 Windows API 和类型投影到惯用 Rust 中。 使用它,可以浏览或搜索你需要了解的 API,以及你需要知道如何调用它的 API。

使用 Rust for Windows 编写应用

下一主题是 RSS 读者教程,我们将逐步介绍如何使用 Rust for Windows 编写简单的应用。