Microsoft har meddelat Rust / WinRT-projekt som ger ett naturligt och idiomatiskt sätt för Rust-utvecklare att ringa Windows API: er. Rust / WinRT låter dig anropa alla WinRT API förflutna, nuvarande och framtida med hjälp av kod som genereras direkt från metadata som beskriver API: et och direkt in i ditt Rust-paket där du kan ringa dem som om de bara var en annan Rust-modul.
hur man får quest-kort härdsten
Windows Runtime är baserat på Component Object Model (COM) API: er under huven och är utformad för åtkomst genom språkprojektion som C ++ / WinRT och Rust / WinRT. Dessa språkprojektioner tar metadata som beskriver olika API: er och ger naturliga bindningar för målprogrammeringsspråket. Detta gör det möjligt för utvecklare att lättare skapa appar och komponenter för Windows med önskat språk. Du kan sedan använda dessa Windows API: er för att skapa skrivbordsappar, lagra appar, en komponent, NT-tjänst eller enhetsdrivrutin.
Här nedan är ett enkelt exempel på att Rust anropar ett Windows API.
använd windows :: data :: xml :: dom :: *; låt doc = XmlDocument :: new () ?; doc.load_xml ('hej världen') ?; låt root = doc.document_element () ?; påstå! (root.node_name ()? == 'html'); påstå! (root.inner_text ()? == 'hej värld');
För ett mer meningsfullt exempel kan du kolla in följande Minesweeper-spel implementerat med Rust / WinRT: https://github.com/robmikh/minesweeper-rs
hur man ser osynlig ut på oenighet
Microsoft noterade att detta är en mycket tidig allmän förhandsvisning, så fler funktioner och korrigeringar kommer i framtiden. Projektets hemsida finns på GitHub: