すごくメモ帳

すごくほぼメモ帳ぐらいなブログ

Rust 2日目 (Cargo)

何も知らない状態からRustを学んでいく2日目。今日はCargoについて勉強した。

CargoはRustを管理するツールらしい。

バージョンの確認

バージョンの確認。

cargo -V
# cargo 1.37.0 (9edd08916 2019-08-02)

Cargoに置き換え

前回作成したHello, worldのプログラムをCargoで管理できるようにする。

tree
# .
# └── main.rs
#
# 0 directories, 1 file

下のようにする。

mkdir src
mv man.rs src
tree
# .
# └── src
#     └── main.rs
#
# 1 directory, 1 file

Cargo.tomlの作成

カレントディレクトリーに以下のようなCargo.tomlを作成した。

[package]

name = "hello_world"
version = "0.0.1"
authors = [ "hikari" ]

ビルド

cargo buildでビルドすることができる。

cargo build
#     Finished dev [unoptimized + debuginfo] target(s) in 0.00s

実行

cargo runで実行できる。

cargo run
#     Finished dev [unoptimized + debuginfo] target(s) in 0.00s
#     Running `target/debug/hello_world`
# Hello, world!

src/main.rsを変更してcargo runを実行するとコンパイルが行われるようだ。

リリース用にビルド

cargo build --releaseを実行する。 コンパイルには多少時間がかかるらしいが、最適化されるためすばやく実行されるようだ。

cargo build --release
#    Compiling hello_world v0.0.1 (/home/hikari/projects/hello_world)
#    Finished release [optimized] target(s) in 0.19s

プロジェクトの雛形を作成

cargo new プロジェクト名を実行すると、プロジェクトの雛形を作成することができる。

cd ..
cargo new hello --bin

*1

*1:--binは実行可能ファイルを作成するためのオプション。