مایکروسافټ د وینډوز API لپاره رسمي رست کتابتون خپور کړ

کتابتون د MIT جواز لاندې د زنګ وهلو کریټ په توګه ډیزاین شوی ، کوم چې په لاندې ډول کارول کیدی شي:

[dependencies] windows = "0.2.1"

[build-dependencies] windows = "0.2.1"

له دې وروسته، په build.rs جوړ سکریپټ کې، تاسو کولی شئ هغه ماډلونه تولید کړئ چې ستاسو د غوښتنلیک لپاره اړین دي:

fn main() {
کړکۍ :: جوړول!(
windows::data::xml::dom::*
windows::win32::system_services::{CreateEventW,SetEvent, WaitForSingleObject}
windows::win32::windows_programming::CloseHandle
);
}

د شته ماډلونو په اړه اسناد خپاره شوي دي docs.rs.

نمونه کوډ:

موډ پابندۍ {
::windows::include_bindings!();
}

بندیزونه وکاروئ::{
windows::data::xml::dom::*,
windows::win32::system_services::{CreateEventW، SetEvent، WaitForSingleObject}،
windows::win32::windows_programming::CloseHandle,
};

fn main() -> کړکۍ:: پایله<()> {
اجازه راکړئ doc = XmlDocument::new()؟;
doc.load_xml(" سلام نړی ")؟

let root = doc.document_element()؟;
assert!(root.node_name()? == "html");
assert!(root.inner_text()? == "سلام نړۍ");

ناامنه {
اجازه راکړئ پیښه = CreateEventW(
std::ptr::null_mut()
true.into()
false.into()
std::ptr::null(),
);

SetEvent(event).ok()؟;
WaitForSingleObject(واقع، 0)؛
CloseHandle(event).ok()؟;
}

سمه ده(())
}

ځینې ​​فنکشن زنګونه ناامنه کاروي ځکه چې دا فنکشنونه لکه څنګه چې شتون لري چمتو شوي، پرته له دې چې د زنګ کنوانسیونونو سره سمون ومومي. کریټ په ورته اصولو ډیزاین شوی. libc، کوم چې libc ته د لاسرسي لپاره د لومړني کریټ په توګه کار کوي او د خوندي انٹرفیس سره د کتابتونونو جوړولو لپاره د اساس په توګه کارول کیږي.


پروژه په چوکاټ کې جوړه شوې وه د Win32 میټاډاټا پروژه، کوم چې د مختلف پروګرامینګ ژبو لپاره د APIs رامینځته کولو لپاره ډیزاین شوی. دوهم کتابتون، چې د پروژې په لومړي پړاو کې د میټاډاټا پروژې پر بنسټ جوړ شوی - C#/Win32. مایکروسافټ هم د کار پیل اعلان کړ د C++ لپاره نسخه، چې د ژبې عصري سټایل کاروي.

سرچینه: linux.org.ru