IT之家3月8日消息 外媒報(bào)道,Win32 API 是經(jīng)典 Windows 桌面應(yīng)用的原生平臺(tái)。它適用于需要直接訪問系統(tǒng)功能和硬件的應(yīng)用程序。這些 Win32 API 對(duì)于 C 和 C++ 開發(fā)者來說是很容易訪問的。然而對(duì)于其他語言,如 C# 和 Rust,則需要包裝器或綁定來訪問這些 API。為了讓更多的語言包括 C# 和 Rust 能夠訪問 Win32 API,微軟宣布了新的 win32metadata 項(xiàng)目。
IT之家獲悉,新的 win32metadata 項(xiàng)目目的是以元數(shù)據(jù)的方式提供 Win32 API 表層的完整描述,從而可以以自動(dòng)化的方式將其投射到任何語言中,提高正確性并將維護(hù)開銷降到最低。
通過這個(gè)項(xiàng)目,你可以獲取 Nuget.org 網(wǎng)站上的 Windows 元數(shù)據(jù)文件(winmd),其中包含描述整個(gè) Win32 API 表層的元數(shù)據(jù)。語言預(yù)測(cè)需要建立在這些元數(shù)據(jù)之上,以使開發(fā)人員能夠從他們選擇的語言中習(xí)慣性地調(diào)用 Win32 API。微軟公布了三種語言預(yù)測(cè)。
C#/Win32 是與 . NET 的 PInvoke 項(xiàng)目的所有者 Andrew Arnott 合作構(gòu)建的,C#/Win32 可以解析元數(shù)據(jù),并生成調(diào)用你關(guān)心的 API 所需的 P/Invoke 包裝器。
Rust 語言投射遵循 C++/WinRT 建立的傳統(tǒng),即使用標(biāo)準(zhǔn)語言和編譯器為 Windows 構(gòu)建語言投射,為 Rust 開發(fā)者提供了一種自然和習(xí)慣性的方式來調(diào)用 Windows API。
Modern C++ 投射。
廣告聲明:文內(nèi)含有的對(duì)外跳轉(zhuǎn)鏈接(包括不限于超鏈接、二維碼、口令等形式),用于傳遞更多信息,節(jié)省甄選時(shí)間,結(jié)果僅供參考,IT之家所有文章均包含本聲明。