Microsoft는 C# 및 Rust를 포함한 더 많은 언어에서 Win32 API에 더 쉽게 액세스할 수 있도록 만들고 있습니다.

독서 시간 아이콘 2 분. 읽다


독자들은 MSpoweruser를 지원하는 데 도움을 줍니다. 당사의 링크를 통해 구매하시면 수수료를 받을 수 있습니다. 툴팁 아이콘

공개 페이지를 읽고 MSPoweruser가 편집팀을 유지하는 데 어떻게 도움을 줄 수 있는지 알아보세요. 자세히 보기

마이크로소프트 윈도우 Win32 API

마이크로소프트 윈도우 Win32 API

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

주제에 대한 추가 정보: 마이크로 소프트, Win32, 윈도우 10