ニュース
Microsoft、「Rust for Windows v0.9」を公開:Win32 APIをRustから慣用的な方法で呼び出せる
Microsoftは「Rust for Windows v0.9」を公開した。Windows APIを完全にサポートしたことが特徴だという。
Microsoftは2021年5月6日(米国時間)、「Rust for Windows v0.9」を公開したと発表した。
Rust for Windowsは、「win32metadata」プロジェクトで提供されるWin32 APIのメタデータに基づいて、Rust言語からWin32 APIを慣用的な方法で呼び出すために必要な言語プロジェクションであり、オープンソースプロジェクトとして開発が進められている。2020年4月に「Rust/WinRT」として発表されたが、その後、Rust for Windowsに改称された。
win32metadataプロジェクトは、さまざまなプログラミング言語からWin32 APIへのアクセスを容易にすることを目的としている。Rust for Windows以外にも、C#やC++などの言語プロジェクションが開発されている。
Rust for Windows v0.9では、Windows APIが完全にサポートされ、過去、現在、将来の任意のWindows APIを呼び出せるようになった。「Rust開発者は、Rust言語での慣用的な方法でWindows APIサーフェス全体にアクセスできる」とMicrosoftは述べている。
どこが更新されたのか
Rust/WinRTの発表以降の主なアップデート内容や変更点は次の通り。
- Win32およびCOM APIのサポートが追加され、「windows crate」を介してWindows APIをシームレスに使用できるようになった
crate(クレート)とはバイナリやライブラリ、これらのいずれかにビルドされるソースコードを指すRustの用語だ。これらのAPIの追加は、win32metadataプロジェクトが実現したものだ。 - Rust for WindowsのGitHubリポジトリに幾つかのサンプルが追加された
これらは、幅広いWindows API(Win32やCOM、WinRT APIなど)を呼び出す方法を示している。 - windows crateがcrates.ioで公開された
MITとApacheのデュアルライセンスを採用している。 - windows crateのバインディングを変更した
内部的に手動のバインディングではなく、生成されたバインディングを使用するようになった。 - windows crateがLinuxでビルドされるようになった
- Win32 APIに向けた多数の改良や修正を施した
配列型のサポートやさまざまな文字列型、メタデータの更新などだ。 - 返り値を持つCOMインタフェースの自然で慣用的なサポートが追加された
例えば、Cスタイルの共用体型やネスト型などに関連する追加APIのサポートなどだ。 - ビルド時間やエラー処理が改善された
- オリジナルのAPIの大文字、小文字の表記が保持された
これは、windows crateを使用する既存コードに影響する。 - QueryInterfaceのような関数が汎用(はんよう)関数に変更された
多くのCOM関連関数をより安全かつ便利に呼び出せるようになった。
Copyright © ITmedia, Inc. All Rights Reserved.
関連記事
- 「Rust」が開発者に最も愛される言語であり続ける理由――Rustを取り巻く状況はここ1年でどう変わったのか
人気記事を電子書籍化して無料ダウンロード提供する@IT eBookシリーズ。第69弾は、プログラミング言語「Rust」のニュース記事をeBookにまとめてお送りする。 - Microsoft、C#やRustからWin32 APIへのアクセスを容易にする計画を発表
Microsoftは、さまざまなプログラミング言語からWin32 APIへのアクセスを容易にする「win32metadata」プロジェクトを発表した。まずはC#、C++、Rust対応を進める。 - Rustの利用状況調査、ビジネス利用が進む一方で習得の難しさなどが依然課題
Rust Survey Teamはプログラミング言語「Rust」の利用状況に関する年次調査結果を発表した。Rustの安定性に対する評価が高い一方で、C++との相互運用性の向上や学習のしやすさを改善してほしいという回答が多かった。