Hello, Cargo

RUSTでプログラミングするときはCargoというビルドシステム兼パッケージマネージャーを使うとのこと。

新規プロジェクト作成

cargoを使ってプロジェクトを作成する。

$ cargo new hello_cargo

Cargo.toml

作成されたディレクトリに行くと、Cargo.tomlが作成されている。Cargoの設定ファイルで、TOML (Tom’s Obvious, Minimal Language)フォーマットで書かれている。

[package]
name = "hello_cargo"
version = "0.1.0"
authors = ["ky"]
edition = "2018"

# See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html

[dependencies]

最初の行の[package]はセクションヘッダーで、それ以降の文がパッケージを設定することを示します。 このファイルに情報を追加してく中で、他のセクションも追加していくことになります。

次の3行はCargoがプログラムをコンパイルするのに必要となる設定情報を指定します。 ここでは、名前、バージョン、使用するRustのエディションを指定しています。 editionキーについては付録Eで説明されています。

最後の行の[dependencies]は、プロジェクトの依存を列挙するためのセクションの始まりです。 Rustではコードのパッケージのことをクレートと呼びます。 このプロジェクトでは他のクレートは必要ありませんが、第2章の最初のプロジェクトでは必要になるので、そのときにこの依存セクションを使用します。

https://doc.rust-jp.rs/book-ja/ch01-03-hello-cargo.html

src/main.rs

Cargoは自動的に“Hello, world!”を作ってくれている。

fn main() {
    println!("Hello, world!");
}

ビルドと実行

ビルドは以下のコマンド

$ cargo build

実行ファイルが、target/debug/hello_cargoに作成されている。

cargo runを使うと、ビルドと実行を同時にしてくれる。

$ cargo run

cargo checkというコマンドで、コンパイル可能かどうかをチェックできる。実行ファイルは作らない。

$ cargo check

なぜ実行可能ファイルが欲しくないのでしょうか? cargo checkは実行ファイルを生成するステップを省くことができるので、多くの場合、cargo buildよりもずっと高速です。 もし、あなたがコードを書きながら継続的にチェックするのなら、cargo checkを使えば、そのプロセスを高速化できます! そのため多くのRustaceanはプログラムを書きながら定期的にcargo checkを実行し、コンパイルできるか確かめます。 そして、実行ファイルを使う準備ができたときにcargo buildを走らせるのです。

https://doc.rust-jp.rs/book-ja/ch01-03-hello-cargo.html

リリース用ビルド

リリース用にビルドするときは、cargo build --releaseを使う。

$ cargo build --release

実行ファイルはtarget/releaseに作成される。

コメントする

メールアドレスが公開されることはありません。 が付いている欄は必須項目です