言論空間ぼんど

文学からプログラミングまであれこれ語る場

Rustのwinapiクレートの構造体初期化ライブラリ作ってみた。

仰々しいタイトルなんだけど、その名の通り。

しかしライブラリと呼ぶには貧弱すぎて、まだまだ田舎の駅にある図書室レベルですが、、、

 

とりあえず晒す。

GitHub - bondTM/winapi_initializer: the initializer for structs in the crate "winapi"

 

RustのwinapiってクレートでWin32APIをいい感じに呼び出せることを知り、

以前C++で作ったプログラムをRustで書き直すという修行をしばらくやっていた。

 

そこで毎度うんちだなって思ったのがstructの初期化なんですわ。

 

Rustは徹底して値がNULLであることを嫌うので、

C++では、変数の宣言だけ行なって戻り値の受け皿として関数に渡すなんてことができたのが、いちいちstructの全項目に値を入れないといけない。

 

なのでいっそライブラリにしてやろうと思った次第。

 

なんか作って、構造体の初期化が必要そうなものに出くわしたら、随時追加していこうかと。

あと「これも追加しようぜ」ってのがあれば、誰でもいいからgit hubでよろしくやっちゃってください。