Windows
Rust

RustでWindowsのコマンドプロンプトウィンドウを抑止する方法

 Rust1.18以上でWindows向けのGUIがあるようなプログラムを書く時、コンソール(コマンドプロンプト)ウィンドウを出したくない場合は次のアトリビュートで出さないようにできる。Visual C++で/SUBSYSTEM:WINDOWSにするのと同じような効果。

#![windows_subsystem = "windows"]

 ただし、これだけでは標準出力等が表示されなくなってしまうので、cargo buildのようなデバッグモードではコンソールを有効にしてcargo build --releaseのようなリリースモードでは無効にしたい場合は次のようにする。

#![cfg_attr(not(debug_assertions), windows_subsystem = "windows")]