Microsoft ya saki babban ɗakin karatu na Rust don Windows API

An tsara ɗakin karatu azaman tsatsa a ƙarƙashin lasisin MIT, wanda za'a iya amfani dashi kamar haka:

[dogara] windows = "0.2.1"

[gina-dogara] windows = "0.2.1"

Bayan wannan, a cikin rubutun ginin build.rs, zaku iya samar da kayan aikin da ake buƙata don aikace-aikacen ku:

fn main() {
windows:: gini!(
windows::data::xml::dom::*
windows :: win32 :: tsarin_sabis :: {CreateEventW, SetEvent, WaitForSingleObject}
windows::win32::windows_programming::Rufe Hannu
);
}

Ana buga takaddun bayanai game da samfura masu samuwa a kan doki.rs.

Misali code:

mod dauri {
::windows::hada_dauri!();
}

amfani da dauri::{
windows::data::xml::dom::*,
windows :: win32 :: tsarin_sabis :: {CreateEventW, SetEvent, WaitForSingleObject},
windows::win32::windows_programming::Rufe Hannu,
};

fn main () -> windows:: sakamako <()> {
bari doc = XmlDocument :: sabo()?;
doc.load_xml (" Sannu Duniya ")?;

bari tushen = doc.document_element ()?;
tabbatar! (tushen.node_name()? == "html");
tabbatar!(tushen.inner_text()? == "sannu duniya");

mara lafiya {
bari taron = CreateEventW(
std::ptr:: null_mut(),
gaskiya.cikin(),
karya.cikin(),
std::ptr:: null(),
);

SetEvent(event).ok()?;
WaitForSingleObject (wakili, 0);
Rufe Hannu (wani abu).ok()?;
}

Ko(())
}

Wasu kiran aikin suna amfani da mara lafiya saboda ana samar da waɗannan ayyukan kamar yadda suke, ba tare da daidaita su zuwa ƙa'idodin Tsatsa ba. An ƙera Crate akan ka'ida ɗaya. libc, wanda ke aiki azaman babban akwati don samun damar libc kuma ana amfani dashi azaman tushe don gina ɗakunan karatu tare da amintaccen dubawa.


An ƙirƙiri aikin a cikin tsarin Win32 Metadata Project, wanda aka tsara don sauƙaƙe ƙirƙirar APIs don harsunan shirye-shirye daban-daban. Laburare na biyu, wanda aka ƙirƙira bisa tsarin Metadata a matakin farko na aikin - C#/Win32. Microsoft ya kuma sanar da fara aikin sigar don C++, wanda ke amfani da salon zamani na harshe.

source: linux.org.ru