
微軟推出了基于 Rust 的 Windows 運(yùn)行時(shí)項(xiàng)目?Rust/WinRT。該項(xiàng)目和 C++/WinRT 一脈相承,用標(biāo)準(zhǔn)語言和編譯器為 Windows 運(yùn)行時(shí)構(gòu)建語言投影,從而方便 Rust 開發(fā)人員調(diào)用 Windows API,更輕松地使用 Rust 構(gòu)建各類 Windows 應(yīng)用和組件。
Windows 運(yùn)行時(shí)基于內(nèi)部的組件對(duì)象模型(Component Object Model,COM)API,需要通過諸如 C++/WinRT 和 Rust/WinRT 之類的語言投影進(jìn)行訪問。這些語言投影采用描述各種 API 的元數(shù)據(jù),并為目標(biāo)編程語言提供自然的綁定。這使開發(fā)人員可以使用所需的語言為 Windows 輕松構(gòu)建應(yīng)用程序和組件。
Rust/WinRT 由來自 Windows 團(tuán)隊(duì)的工程師?Kenny Kerr?于去年十一月提出,并開始進(jìn)行嘗試。他在當(dāng)時(shí)的博客文章中表示,Windows 運(yùn)行時(shí)已開始增加對(duì)各種語言的支持,但這些都無法脫離 C++,直到 Rust 的出現(xiàn)。
Kerr 認(rèn)為,即便 Rust 的學(xué)習(xí)曲線可能令人望而卻步,但它很有可能解決 C++ 與 WinRT 的關(guān)系中一些最棘手的問題?!跋胂笠幌虏恍枰?IDL 的 C++/WinRT:更快的構(gòu)建時(shí)間,以及簡(jiǎn)單而集成的構(gòu)建系統(tǒng)?!?/p>
根據(jù)微軟的介紹,Rust/WinRT 能夠?qū)⑷我鈺r(shí)間段內(nèi)的 WinRT API 直接調(diào)用進(jìn) Rust 包,開發(fā)者可以像調(diào)用 Rust 模塊一樣調(diào)用它們。
Rust 與 C++ 在編譯和運(yùn)行時(shí)模型等許多方面都非常類似,但 Rust 在安全性上更勝一籌,這也是微軟一直強(qiáng)調(diào)和看重的地方。
官方的介紹文章中還給出了一些關(guān)于 Rust/WinRT 的有趣示例,例如這個(gè)從 C++/WinRT 快速移植到 Rust/WinRT 的掃雷游戲?demo:

目前?Rust/WinRT 還處于早期預(yù)覽狀態(tài),微軟希望它接下來與現(xiàn)有 Win32 和 COM API 提供更加無縫的互操作,包括對(duì)?com-rs crate?的支持。
詳情可見微軟官方博客:https://blogs.windows.com/windowsdeveloper/2020/04/30/rust-winrt-public-preview/
建站咨詢
SEO優(yōu)化咨詢
小程序咨詢
地 址:廣州市黃埔區(qū)銳豐中心1號(hào)樓922-929
業(yè)務(wù)熱線:020-32379980 售后專線:020-28999180
地 址:深圳市龍華新區(qū)布龍路榮應(yīng)大廈1105
業(yè)務(wù)熱線:15920999917 售后專線:15920999917
地 址:長(zhǎng)沙市雨花區(qū)德思勤城市廣場(chǎng)A8棟3024
業(yè)務(wù)熱線:0731-88612341 售后專線:13723888441
對(duì)公帳戶:廣州聯(lián)享信息科技有限公司
開戶銀行:中國(guó)工商銀行廣州石牌支行 賬號(hào):3602 0986 0920 0130 274
| 銀行 | 戶名 | 開戶行 | 帳號(hào) |
|---|---|---|---|
| 支付寶 | 廣州聯(lián)享信息科技有限公司 | 支付寶 | 123@a020.net |
| 中國(guó)工商銀行 | 楊雄 | 廣州車陂支行 | 6212 2636 0202 8813 145 |
| 中國(guó)銀行 | 楊雄 | 長(zhǎng)沙市賀龍支行 | 6217 8575 0002 4885 045 |
| 中國(guó)農(nóng)業(yè)銀行 | 楊雄 | 長(zhǎng)沙天心區(qū)支行 | 6228 4810 9946 1564 479 |