RustをWindows10にインストールしてサンプルプログラムを走らせる
はじめに
Rust(ラスト)は、C言語、C++に代わるシステムプログラミング言語と言われています。OSや言語を記述するのに適した言語というわけです。
本稿では、RustをWindows10にインストールし、簡単なプログラムを実行するまでを紹介します。
なお、UbuntuやmacOSへのインストールや、簡単なプログラムの実行方法は以下のURLを参照ください。
参考URL
自身のブログから転載しました。
RustをWindows/Ubuntu/macOSにインストールしてサンプルプログラムを走らせる
Rustのダウンロード
こちらのリンクからダウンロードページに進み、[RUSTUP-INIT.EXE(64-BIT)をダウンロードする]をクリックします。
ダウンロードした「rustup-init.exe」を実行します。
Microsoft C ++ビルドツールのインストール
すでに、C ++ビルドツールがインストールされている場合は、この項をスキップしてかまいません。
「rustup-init.exe」を実行し、次のメッセージが出た場合は、いったん、「n」を入力してインストーラを終了します。
メッセージは、およそ次のようなことが書かれています。
「Rustには、Visual Studio2013以降のMicrosoft C ++ビルドツールが必要です。しかしまだインストールされていないようです。続行する前に、C ++ビルドツールをインストールしてください。」
後でインストールしても良いようですが、私は先にしました。
このリンクから、C ++ビルドツールのダウンロードサイトに移動します。「Build Toolsのダウンロード」をクリックし、インストーラをダウンロードします。
ダウンロードしたインストーラを起動します。
C++ Build Toolsのチェックボックスをチェックし、[インストール]をクリックします。
インストール後、Windowsを再起動します。
Rustのインストール
Rustのインストーラを起動すると、次の画面が表示されます。デフォルトの「1」を選択します。
最後に[Enter]キーを入力すると下のウインドウが閉じます。
これでインストールは完了です。
PowerShellを起動して、rust関連のコマンドが実行できることを確認します。
> cargo -V
cargo 1.51.0 (43b129a20 2021-03-16)
> rustc -V
rustc 1.51.0 (2fd73fabe 2021-03-23)
Hello Worldを表示してみよう
任意の場所に「rust」フォルダを作成します。
次に、「cargo new プロジェクト名」でプロジェクトを作成します。下ではプロジェクト名を「show_os_ver」としました。
> mkdir rust
> cd rust
> cargo new show_os_ver
Created binary (application) `show_os_ver` package
プロジェクトのディレクトリ構成をtreeコマンドで表示したのが下の図です。
> tree
C:.
└─show_os_ver
├─src
└─target
└─debug
├─.fingerprint
│ └─show_os_ver-6e9761e250227a20
├─build
├─deps
├─examples
└─incremental
└─show_os_ver-2pbgi5bw157s3
└─s-fx46y9e08f-st9gr9-7vzjtifks76a
show_os_ver\src\main.rsがソースコードです。
> cd .\show_os_ver\src
> cat main.rs
fn main() {
println!("Hello, world!");
}
すでに、「Hello World」を出力するプログラムがおかれているので、これをビルドして実行します。
cargo runコマンドが便利です。ビルドと実行を一気に行ってくれます。
> cargo run
Compiling show_os_ver v0.1.0 (C:\Users\xxxx\works\rust\show_os_ver)
Finished dev [unoptimized + debuginfo] target(s) in 2.12s
Running `target\debug\show_os_ver.exe`
Hello, world!
OSのバージョンを表示してみる
これまで、プログラムを何も作っていないので、OSのバージョンを表示する簡単なプログラムを作ってみます。
エディタでmain.rsを編集します。
use std::process::Command;
fn main() {
let proc = Command::new("wmic")
.args(&["os", "get", "caption"])
.output()
.expect("Failed to start `wmic`");
println!("{}", String::from_utf8_lossy(&proc.stdout));
}
プログラムからwmicコマンドを引数付きで実行し、wmicから受け取った出力結果を表示します。
- let proc = Command::new(“wmic”) の行でwmicコマンドを実行します。
- .args(&[“os”, “get”, “caption”]) でwmicに与える引数を指定します。
- .output() でwmicの実行完了を待つと同時に出力を受け取ります。
- .expect(“Failed to start wmic“); で例外処理を登録します。
- println!(“{}”, ・・・); でwmicの実行結果を表示します。
> cargo run
Compiling show_os_ver v0.1.0 (C:\Users\xxxxx\works\rust\show_os_ver)
Finished dev [unoptimized + debuginfo] target(s) in 0.53s
Running `C:\Users\xxxxx\works\rust\show_os_ver\target\debug\show_os_ver.exe`
Caption
Microsoft Windows 10 Enterprise Evaluation
OSのバージョンを表示することができました。
さいごに
WSL(Windows Subsystem for Linix)上のUbuntuや、macOSで上記と同じことをしたい方は、よければ、以下のブログも参照ください。
Discussion