Windows Tips & News

Microsoft ได้ประกาศโครงการ Rust/WinRT

Microsoft ได้ประกาศโครงการ Rust/WinRT ที่ให้วิธีที่เป็นธรรมชาติและเป็นสำนวนสำหรับนักพัฒนา Rust ในการเรียกใช้ Windows API Rust/WinRT ให้คุณเรียก WinRT API ใด ๆ ในอดีต ปัจจุบัน และอนาคตโดยใช้รหัสที่สร้างขึ้นทันทีโดยตรงจากข้อมูลเมตาที่อธิบาย API และลงในแพ็คเกจ Rust ของคุณซึ่งคุณสามารถเรียกพวกเขาราวกับว่าพวกเขาเป็นเพียง Rust อีกตัวหนึ่ง โมดูล.

รันไทม์ของ Windows ขึ้นอยู่กับ Component Object Model (COM) APIs ภายใต้ประทุนและได้รับการออกแบบให้เข้าถึงได้ผ่านการฉายภาพภาษา เช่น C++/WinRT และ Rust/WinRT การคาดการณ์ภาษาเหล่านั้นใช้ข้อมูลเมตาที่อธิบาย API ต่างๆ และจัดเตรียมการเชื่อมโยงตามธรรมชาติสำหรับภาษาโปรแกรมเป้าหมาย ซึ่งช่วยให้นักพัฒนาสร้างแอปและส่วนประกอบสำหรับ Windows ได้ง่ายขึ้นโดยใช้ภาษาที่ต้องการ จากนั้นคุณสามารถใช้ Windows API เหล่านั้นเพื่อสร้างแอปเดสก์ท็อป แอปจัดเก็บ ส่วนประกอบ บริการ NT หรือไดรเวอร์อุปกรณ์

ด้านล่างนี้เป็นตัวอย่างง่ายๆ ของ Rust ที่เรียกใช้ Windows API

ใช้ windows:: data:: xml:: dom::*; ให้ doc = XmlDocument:: new()?; doc.load_xml("สวัสดีชาวโลก")?; ให้ root = doc.document_element()?; ยืนยัน!(root.node_name()? == "html"); ยืนยัน!(root.inner_text()? == "สวัสดีชาวโลก");

สำหรับตัวอย่างที่มีความหมายมากขึ้น คุณสามารถตรวจสอบเกม Minesweeper ต่อไปนี้ที่ใช้งาน Rust/WinRT: https://github.com/robmikh/minesweeper-rs

Microsoft ตั้งข้อสังเกตว่านี่เป็นการแสดงตัวอย่างต่อสาธารณะในช่วงเริ่มต้น ดังนั้นจึงมีคุณลักษณะและการแก้ไขเพิ่มเติมในอนาคต หน้าแรกของโครงการอยู่บน GitHub:

https://github.com/microsoft/winrt-rs

วิธีล้างโฟลเดอร์ WinSxS ใน Windows 10

วิธีล้างโฟลเดอร์ WinSxS ใน Windows 10

4 ตอบกลับโฟลเดอร์ WinSxS คือ Component Store ที่อยู่ในไดเร็กทอรี C:\Windows โดยที่ไฟล์หลักของ Win...

อ่านเพิ่มเติม

เพิ่มพื้นที่ว่างในดิสก์หลังจากอัปเกรดเป็น Windows 10 เวอร์ชัน 1607

เพิ่มพื้นที่ว่างในดิสก์หลังจากอัปเกรดเป็น Windows 10 เวอร์ชัน 1607

ที่แนะนำ: คลิกที่นี่เพื่อแก้ไขปัญหา Windows และเพิ่มประสิทธิภาพระบบหากคุณติดตั้ง Windows 10 เวอร์...

อ่านเพิ่มเติม

Windows 10 build 14905 บันทึกการเปลี่ยนแปลง

เว็บไซต์นี้ใช้คุกกี้เพื่อปรับปรุงประสบการณ์ของคุณในขณะที่คุณสำรวจเว็บไซต์ จากคุกกี้เหล่านี้ คุกกี...

อ่านเพิ่มเติม