Microsoft는 C# 및 Rust를 포함한 더 많은 언어에서 Win32 API에 더 쉽게 액세스할 수 있도록 만들고 있습니다.
2 분. 읽다
에 게시됨
공개 페이지를 읽고 MSPoweruser가 편집팀을 유지하는 데 어떻게 도움을 줄 수 있는지 알아보세요. 자세히 보기
Win32 API는 클래식 Windows 데스크톱 앱을 위한 기본 플랫폼입니다. 시스템 기능 및 하드웨어에 직접 액세스해야 하는 앱에 적합합니다. 이러한 Win32 API는 C 및 C++ 개발자가 쉽게 액세스할 수 있습니다. 그러나 C# 및 Rust와 같은 다른 언어는 이러한 API에 액세스하기 위해 래퍼 또는 바인딩이 필요합니다. C# 및 Rust를 포함한 더 많은 언어에서 Win32 API에 더 쉽게 액세스할 수 있도록 Microsoft는 오늘 새로운 win32메타데이터 프로젝트.
새로운 win32metadata 프로젝트의 목표는 메타데이터에서 Win32 API 표면에 대한 완전한 설명을 제공하여 자동화된 방식으로 모든 언어로 투영될 수 있도록 하여 정확성을 개선하고 유지 관리 오버헤드를 최소화하는 것입니다.
이 프로젝트를 통해 전체 Win32 API 표면을 설명하는 메타데이터가 포함된 Windows 메타데이터 파일(winmd)을 Nuget.org에 게시하게 됩니다. 개발자가 선택한 언어에서 관용적으로 Win32 API를 호출할 수 있도록 언어 프로젝션은 이러한 메타데이터 위에 구축되어야 합니다. Microsoft는 오늘 XNUMX가지 언어 계획을 발표했습니다.
- 의 소유자인 Andrew Arnott와 협력하여 구축되었습니다. PInvoke .NET용 프로젝트, C#/Win32 메타데이터를 구문 분석하고 관심 있는 API를 호출하는 데 필요한 P/Invoke 래퍼를 생성합니다.
- XNUMXD덴탈의 Rust 언어 프로젝션 에 의해 확립된 전통을 따른다. C ++ / WinRT 표준 언어와 컴파일러를 사용하여 Windows용 언어 프로젝션을 빌드하고 Rust 개발자가 Windows API를 호출할 수 있는 자연스럽고 관용적인 방법을 제공합니다.
- 현대 C++ 투영
출처: Microsoft