Microsoft သည် Windows API အတွက် တရားဝင် Rust စာကြည့်တိုက်ကို ထုတ်ပြန်ခဲ့သည်။

စာကြည့်တိုက်ကို MIT လိုင်စင်အောက်ရှိ သံချေးသေတ္တာအဖြစ် ဒီဇိုင်းထုတ်ထားပြီး ဤကဲ့သို့အသုံးပြုနိုင်သည်-

[dependencies] windows = "0.2.1"

[build-dependencies] windows = "0.2.1"

၎င်းနောက်၊ build.rs build script တွင်၊ သင်သည် သင့်အပလီကေးရှင်းအတွက် လိုအပ်သော module များကို ထုတ်လုပ်နိုင်သည်-

fn ပင်မ() {
windows::ဆောက်!(
windows::data::xml::dom::*
windows::win32::system_services::{CreateEventW၊ SetEvent၊ WaitForSingleObject}
windows::win32::windows_programming::CloseHandle
);
}

ရရှိနိုင်သော module များအကြောင်း စာရွက်စာတမ်းများကို တွင် ထုတ်ပြန်ထားသည်။ docs.rs.

နမူနာကုဒ်-

mod bindings {
::windows::include_bindings!();
}

ချည်နှောင်ခြင်းကို အသုံးပြုပါ::{
windows::data::xml::dom::*၊
windows::win32::system_services::{CreateEventW၊ SetEvent၊ WaitForSingleObject}၊
windows::win32::windows_programming::CloseHandle၊
};

fn main() --> windows::Result<()> {
let doc = XmlDocument::new()?;
doc.load_xml(" မင်္ဂလာပါကမ္ဘာလောက ")?;

root = doc.document_element()?;
အခိုင်အမာ!(root.node_name()? == "html");
အခိုင်အမာ!(root.inner_text()? == "ဟဲလိုကမ္ဘာ");

မလုံခြုံ {
let event = CreateEventW(
std::ptr::null_mut(),
true.into(),
false.into()၊
std::ptr::null(),
);

SetEvent(ဖြစ်ရပ်။ok()?;
WaitForSingleObject(ဖြစ်ရပ်၊ 0);
CloseHandle(event).ok()?;
}

အိုကေ(())
}

အချို့သော လုပ်ဆောင်ချက်ခေါ်ဆိုမှုများသည် Rust ကွန်ဗင်းရှင်းများနှင့် လိုက်လျောညီထွေမဖြစ်အောင် ဤလုပ်ဆောင်ချက်များကို ယခင်အတိုင်းပေးထားသောကြောင့် လုံခြုံစွာအသုံးပြုနိုင်ပါသည်။ Crate ကို တူညီသောမူအရ ဒီဇိုင်းထုတ်ထားသည်။ libclibc ကိုဝင်ရောက်အသုံးပြုရန်အတွက် အခြေခံသေတ္တာအဖြစ်ဆောင်ရွက်ပြီး လုံခြုံသောအင်တာဖေ့စ်ဖြင့်စာကြည့်တိုက်များတည်ဆောက်ခြင်းအတွက်အခြေခံအဖြစ်အသုံးပြုသည်။


ပရောဂျက်ကို မူဘောင်အတွင်း ဖန်တီးခဲ့သည်။ Win32 Metadata ပရောဂျက်မတူညီသောပရိုဂရမ်းမင်းဘာသာစကားများအတွက် API များကိုဖန်တီးရန်ပိုမိုလွယ်ကူစေရန်ဒီဇိုင်းပြုလုပ်ထားသည်။ ပရောဂျက်၏ပထမအဆင့်တွင် Metadata Project ကိုအခြေခံ၍ ဖန်တီးထားသည့် ဒုတိယစာကြည့်တိုက်၊ C#/Win32. Microsoft ကလည်း လုပ်ငန်းစတင်တော့မည်ဟု ကြေညာခဲ့သည်။ C++ အတွက်ဗားရှင်းခေတ်မီဘာသာစကားစတိုင်ကို အသုံးပြုထားသည်။

source: linux.org.ru