微软持续改进Win32 API语言易用性和兼容性 包括C#和Rust

Win32API是被诸多Windows桌面应用程序所使用的经典原生开发接口 , 并且支持直接访问相关硬件和系统功能 。 对于C/C++开发者来说 , Win32API的易用性还算不错 。 但是对于C#和Rust等更多语言来说 , 还需要事先准备封包或绑定 , 才能顺利地调用这些API 。 好消息是 , 微软一直在努力持续改进Win32API的语言易用性和兼容性 。

微软持续改进Win32 API语言易用性和兼容性 包括C#和Rust
文章图片
最新消息是 , 为了让Win32API可被更多语言的开发者轻松访问(包括C#和Rust) , 微软已于今日宣布了新的的win32metADATA项目 。
该项目旨在元数据中提供针对Win32API完整表层描述 , 以便通过自动的方式 , 将之映射到任何语言 , 从而极大地提升准确性和减少维护开销 。

微软持续改进Win32 API语言易用性和兼容性 包括C#和Rust
文章图片
感兴趣的开发者 , 可通过Nuget.org网站获取Windows元数据文件(winmd) , 其中已经包含了描述整个Win32API的表层元数据 。
微软持续改进Win32 API语言易用性和兼容性 包括C#和Rust】与此同时 , 微软宣布了基于这些元数据的三种语言预测特性 , 比如与C#/Win32及.NETPInvoke项目拥有者AndrewArnott合作 , 推出了可解析元数据并声称调用所需的API的P/Invoke封装器 。

微软持续改进Win32 API语言易用性和兼容性 包括C#和Rust
文章图片
然后是针对Rust语言的映射支持 , 其遵循传统C++/WinRT应用开发的标准语言和编译器 , 使得开发者能够通过自然且习惯的方式 , 来调用Win32API 。
至于ModenC++等语言易用性改进 , 还请移步至官网了解详情(传送门) 。