Hoʻolālā ʻia ka waihona e like me ka Rust crate ma lalo o ka MIT License, hiki ke hoʻohana ʻia e like me kēia:
[nā hilinaʻi] puka makani = "0.2.1" [build-dependencies] puka makani = "0.2.1"Ma hope o kēia, ma ka build.rs build script, hiki iā ʻoe ke hana i nā modula e pono ai no kāu noi:
fn nui() {
puka makani::kūkulu!(
windows::data::xml::dom::*
windows::win32::system_services::{CreateEventW, SetEvent, WaitForSingleObject}
windows::win32::windows_programming::CloseHandle
);
}
Paʻi ʻia nā palapala e pili ana i nā modula i loaʻa ma docs.rs.
Laʻana code:
nā hoʻopaʻa mod {
::windows::include_bindings!();
}
hoʻohana i nā mea paʻa::{
windows::data::xml::dom::*,
windows::win32::system_services::{CreateEventW, SetEvent, WaitForSingleObject},
windows::win32::windows_programming::CloseHandle,
};
fn main() -> puka makani::Hua<()> {
let doc = XmlDocument::new()?;
doc.load_xml(" aloha honua ")?;
e aʻa = doc.document_element()?;
hōʻoia!(root.node_name()? == "html");
assert!(root.inner_text()? == "hello world");
palekana {
let event = CreateEventW(
std::ptr::null_mut(),
ʻoiaʻiʻo.i loko (),
false.into(),
std::ptr::null(),
);
SetEvent(event).ok()?;
WaitForSingleObject(hanana, 0);
CloseHandle(event).ok()?;
}
ʻAe(())
}
Ke hoʻohana nei kekahi mau kelepona hana i ka palekana no ka mea ua hāʻawi ʻia kēia mau hana e like me ia, me ka hoʻololi ʻole ʻana iā lākou i nā hui Rust. Hoʻolālā ʻia ka Crate ma ke kumu like. libc, e lawelawe ana ma ke ʻano he pahu maʻamau no ke komo ʻana i ka libc a hoʻohana ʻia ma ke ʻano he kumu no ke kūkulu ʻana i nā hale waihona puke me kahi kikowaena paʻa.
Ua hana ʻia ka pāhana i loko o ka pā Win32 Metadata Project, i hoʻolālā ʻia e maʻalahi i ka hana ʻana i nā API no nā ʻōlelo hoʻonohonoho like ʻole. ʻO ka lua o ka waihona, i hana ʻia ma muli o ka Metadata Project i ka pae mua o ka papahana - C#/Win32. Ua hoʻolaha pū ʻo Microsoft i ka hoʻomaka ʻana o ka hana ma mana no C++, e hoʻohana ana i kahi ʻano ʻōlelo hou.
Source: linux.org.ru