键盘快捷键

在章节间导航

S/ 在书中搜索

? 显示此帮助

Esc 隐藏此帮助

选择 windows 和 windows-sys crate

windows crate 提供了 Windows API 的绑定,包括 C 风格的 API,如 CreateThreadpool,以及 COM 和 WinRT API,如 DirectX。这个 crate 为 Windows 操作系统提供了最全面的 API 覆盖。在可能的情况下,windows crate 还试图为 Rust 开发者提供更符合惯用习惯且更安全的编程模型。

windows-sys crate 提供了 C 风格 Windows API 的原始绑定。它缺乏对 COM 和 WinRT API 的支持。windows-sys crate 的诞生源于认识到 windows crate 最昂贵的方面,在构建时间方面,是编译函数体的成本。Rust 编译器在编译函数体上花费了大量精力,因此一个只包含声明的 windows crate 版本相比之下更小更快。问题是 COM 风格的虚函数调用在 Rust 中需要额外的代码生成(与 C++ 不同),这反过来又导致编译时间变慢。这就是 windows-sys crate 的由来。

当然,我们继续努力提高性能,包括底层 Rust 编译器工具链以及为这些 crate 生成的代码效率。因此,我们相信编译时间将继续改善。

你需要什么?windowswindows-sys
快速编译时间是你的首要考虑
你需要 no_std 支持
你需要 COM 或 WinRT 支持
你更喜欢使用符合 Rust 惯用习惯的 API
支持的最低 Rust 版本1.561.56