Tastenkombinationen

Drücken Sie oder , um zwischen den Kapiteln zu navigieren

Drücken Sie S oder /, um im Buch zu suchen

Drücken Sie ?, um diese Hilfe anzuzeigen

Drücken Sie Esc, um diese Hilfe auszublenden

Wahl zwischen den Crate-Bibliotheken windows und windows-sys

Die windows-Crate bietet Bindungen für die Windows-API, einschließlich C-Style-APIs wie CreateThreadpool sowie COM- und WinRT-APIs wie DirectX. Diese Crate bietet die umfassendste API-Abdeckung für das Windows-Betriebssystem. Wo immer möglich, versucht die windows-Crate auch, ein idiomatischeres und sichereres Programmiermodell für Rust-Entwickler bereitzustellen.

Die windows-sys-Crate bietet reine Bindungen für die Windows-APIs im C-Stil. Sie unterstützt keine COM- und WinRT-APIs. Die windows-sys-Crate entstand aus der Erkenntnis, dass der teuerste Aspekt der windows-Crate in Bezug auf die Build-Zeit die Kosten für die Kompilierung von Funktionskörpern sind. Der Rust-Compiler verbringt viel Aufwand mit der Kompilierung von Funktionskörpern, sodass eine Version der windows-Crate, die nur Deklarationen enthält, im Vergleich dazu sowohl viel kleiner als auch schneller ist. Das Problem ist, dass COM-Style-virtuelle Funktionsaufrufe in Rust (im Gegensatz zu C++) zusätzlichen Codegenerierungscode erfordern, was wiederum zu langsameren Kompilierungszeiten führt. Hier kommt die windows-sys-Crate ins Spiel.

Natürlich arbeiten wir weiterhin hart daran, die Leistung sowohl in Bezug auf die zugrunde liegende Rust-Compiler-Toolchain als auch auf die Effizienz des für diese Crate-Bibliotheken generierten Codes zu verbessern. Wir sind daher zuversichtlich, dass die Kompilierzeit weiterhin verbessert wird.

Was benötigen Sie?windowswindows-sys
Schnelle Kompilierzeiten sind eine Ihrer obersten Prioritäten
Sie benötigen no_std-Unterstützung
Sie benötigen COM- oder WinRT-Unterstützung
Sie würden es vorziehen, APIs zu verwenden, die sich für Rust idiomatisch anfühlen
Mindestens unterstützte Rust-Version1.561.56