WebAssemblyを記述できる言語としてはRustやC、C++、C#などがありますが、改めてRustを学ぶのを躊躇してしまっている人もいるでしょう。Cなら分かるという方なら多数いるはずです。 そんな方に使ってみて欲しいのがC2Rustです。Cで書いたコードをRustに変換します。

C2Rustの使い方

元々のコードが左にあります。

右側が変換後のRustのコードです。

C2Rustで出力されるコードはRustに最適化されているとは思いませんが、それでもRustのコードであるのは確かです。ここから徐々にRustに慣れていっても良いですし、既存のC言語の資産を移行する、Rustにしかないライブラリを使う前段階として使っても良さそうです。

C2RustはRust製のオープンソース・ソフトウェア(BSD)です。

C2Rust Demonstration immunant/c2rust: C to Rust translation, refactoring, and cross-checking