Mae'r llyfrgell wedi'i dylunio fel crât rhwd o dan y Drwydded MIT, y gellir ei defnyddio fel hyn:
[dibyniaethau] windows = "0.2.1" [build-dependencies] windows = "0.2.1"Ar ôl hyn, yn y sgript adeiladu build.rs, gallwch chi gynhyrchu'r modiwlau sydd eu hangen ar gyfer eich cais:
fn prif () {
ffenestri::adeiladu!(
ffenestri :: data:: xml ::dom ::*
windows ::win32 ::system_services ::{CreateEventW, SetEvent, WaitForSingleObject}
ffenestri::win32::windows_programming::CloseHandle
);
}
Cyhoeddir dogfennaeth am y modiwlau sydd ar gael ar docs.rs.
Enghraifft o god:
rhwymiadau mod {
::ffenestri::cynnwys_rhwymiadau!();
}
defnyddio rhwymiadau ::{
ffenestri :: data:: xml ::dom ::*,
windows ::win32 ::system_services::{CreateEventW, SetEvent, WaitForSingleObject},
ffenestri :: win32 :: ffenestri_rhaglennu :: CloseHandle,
};
fn prif() -> ffenestri::Canlyniad <()> {
gadewch doc = XmlDocument::newydd() ?;
doc.load_xml(" Helo Byd ")?;
gadewch root = doc.document_element() ?;
haeru!(root.node_name()? == "html");
haeru!(root.inner_text()? == "helo fyd");
anniogel {
let event = CreateEventW(
std::ptr::null_mut(),
gwir.i(),
ffug.i(),
std::ptr::null(),
);
SetEvent(digwyddiad).ok()?;
WaitForSingleObject(digwyddiad, 0);
CloseHandle(digwyddiad).ok() ?;
}
Iawn(())
}
Mae rhai galwadau swyddogaeth yn anniogel oherwydd bod y swyddogaethau hyn yn cael eu darparu fel y mae, heb eu haddasu i gonfensiynau Rust. Mae crât wedi'i ddylunio ar yr un egwyddor. libc, sy'n gweithredu fel crât sylfaenol ar gyfer cyrchu libc ac a ddefnyddir fel sail ar gyfer adeiladu llyfrgelloedd gyda rhyngwyneb diogel.
Crëwyd y prosiect o fewn y fframwaith Prosiect Metadata Win32, sydd wedi'i gynllunio i'w gwneud hi'n haws creu APIs ar gyfer gwahanol ieithoedd rhaglennu. Yr ail lyfrgell, a grëwyd yn seiliedig ar y Prosiect Metadata yng ngham cyntaf y prosiect - C#/Win32. Cyhoeddodd Microsoft hefyd ddechrau'r gwaith ar fersiwn ar gyfer C++, sy'n defnyddio arddull iaith fodern.
Ffynhonnell: linux.org.ru