Microsoft ayaa soo saartay maktabadda Rust ee rasmiga ah ee Windows API

Maktabadu waxa loo qaabeeyey sidii sanduuq daxal ah oo hoos yimaada shatiga MIT, kaas oo loo isticmaali karo sidan:

[ku tiirsanaanta] daaqadaha = "0.2.1"

[ku-tiirsanaanta] daaqadaha = "0.2.1"

Taas ka dib, dhisitaanka script.rs, waxaad soo saari kartaa cutubyada looga baahan yahay codsigaaga:

fn main() {
daaqadaha:: dhis!(
windows::data::xml::dom::*
windows:: win32:: system_services:: {CreateEventW, SetEvent, WaitForSingleObject}
windows::win32::windows_programming::CloseHandle
);
}

Dukumeenti ku saabsan cutubyada la heli karo ayaa lagu daabacay docs.rs.

Koodhka Tusaalaha:

qaabka isku xidhka {
:: daaqadaha:: waxaa ku jira xirmooyinka!();
}

isticmaal xirmooyinka::{
windows::data::xml::dom::*,
windows:: win32:: system_services:: {CreateEventW, SetEvent, WaitForSingleObject},
windows::win32::windows_programming::CloseHandle,
};

fn main() -> windows::Natiijooyinka<()> {
doc = XmlDocument :: cusub()?;
doc.load_xml (" haye aduunka ")?;

xidid = doc.document_element ()?;
sheeg! (root.node_name ()? == "html");
sheeg!(root.inner_text

aan ammaan ahayn {
ha dhacdo = CreateEventW(
std :: ptr :: null_mut (),
run. galay(),
been. galay(),
std::ptr::null(),
);

SetEvent(dhacdo).ok()?;
WaitForSingleObject (dhacdo, 0);
CloseHandle (dhacdo).ok()?;
}

Ok (())
}

Wicitaannada shaqada qaarkood waxay isticmaalaan ammaan-darro sababtoo ah hawlahan waxaa loo bixiyaa si la mid ah, iyada oo aan la qabsanin heshiisyada Rust. Crate waxaa loo qaabeeyey isla mabda'a. libc, kaas oo u adeega sida sanduuqa aasaasiga ah ee gelitaanka libyada waxaana loo isticmaalaa saldhig u ah dhisidda maktabado leh interface ammaan ah.


Mashruuca waxaa lagu abuuray qaab-dhismeedka Win32 Metadata Project, kaas oo loogu talagalay in lagu fududeeyo abuurista API-yada luqadaha barnaamijyada kala duwan. Maktabadda labaad, oo la abuuray iyadoo lagu salaynayo Mashruuca Metadata ee wejigii koowaad ee mashruuca - C#/Win32. Microsoft ayaa sidoo kale ku dhawaaqday bilawga shaqada nooca C++, kaas oo isticmaala hab casri ah oo luqadeed.

Source: linux.org.ru