第2回 RUST コンパイル・実行

前回は,RUSTのインストールについて解説しました.
今回は,RUSTによって書かれたソースコードをコンパイルし,実行していきたいと思います.

RUSTのコンパイルには,主に二つの方法の方法が有ります.

  • 「rustc」を使用したソースコードを直接コンパイル
  • 「Cargo」を用いたビルド

rustcによるコンパイル

今回はRustの公式ドキュメントをもとに,linux環境(bash)で開発を進めていきます.
初めに,ソースコードを格納するディレクトリ(フォルダー)を用意します.

mkdir hello_world
cd hello_world

作業ディレクトリ内(hello_world内)にて,「main.rs」という名のソースファイルを作成します.
今回は,プログラムを実行した時にコマンドライン上に「Hello, world!」が帰ってくるコードを書いていきます.
以下にソースコード載せます.「main.rs」に下記のソースコードに記述してください.

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

「fn main(){}」で記述されるmain関数は,rustのプログラム上で必ず最初実行されるルーチン,「println!();」はコマンドラインへの標準出力用の関数のようです.
これを「rustc」でコンパイルします.使い方は「gcc」と同じような感じで使用できます.

rustc main.rs

コンパイルを実行すると「main」という名前の実行可能ファイルが作成されいます.
このファイルをコマンドライン上で実行すると

./main
Hello, world!

というように,プログラムが実行されます.

cargoによるコンパイル

Cargoとは,ビルドとパッケージの管理を行うための開発環境みたいなもののようです.ビルド時間の計測やgitとの連携もできるようで,非常にシンプルでありながら高機能な開発環境を提供してくれます.

cargo new hello_cargo

にて,「hello_cargo」プロジェクトをダウンロード?することができます.
このプロジェクトには,ソースコードが保存される「src」とビルドを行った後のファイルが保存される「target」の二つのディレクトリがあることが確認できます.
「src/main.rs」というファイルには,上記と同じ内容の「main.rs」ファイルが保存されています.

このソースファイルを「cargo」コマンドにてビルドするのですが,基本的な機能が三つほどあるようです.

  • 「cargo build」:ソースコードのビルドを行う
  • 「cargo run」:ソースコードのビルドと実行を行う
  • 「cargo check」:バイナリファイルを作らずにソースコードのチェックだけを行う

コマンドラインで「cargo run」を入力すると

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

と先ほどと同じ結果が出力されます.
ビルドを行うと「target/debug/hello_cargo」に実行ファイルが作成され,先ほど同様にコマンドラインから実行することができます.

./target/debug/hello_cargo
Hello, world!

今回の記事は以上です.
Cargoの高機能がどれほどの生産性を向上してくれるのか,勉強するのが楽しみになってきます.
次回からは,RUSTの文法についてまとめていこうと思います.