Think Twice
IT技術メモ | Rustのメモ
Created: 2022-09-29 / Updated: 2022-10-12

RustでHello World


目次


プロジェクト作成

まず、helloという名前のプロジェクトを作成します。
cargo new <プロジェクト名>というコマンドを利用するとhelloディレクトリにプロジェクトが出来上がります。

Copy
$ cargo new hello
     Created binary (application) `hello` package
$ cd hello
$ tree .
.
├── Cargo.toml
└── src
    └── main.rs

1 directory, 2 files

Cargo.tomlはパッケージのバージョンや読み込むライブラリを設定するファイルです。 TOMLについてはこちら

Cargo.toml
Copy
[package]
name = "hello"
version = "0.1.0"
edition = "2021"

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

[dependencies]

Rustのソースコードは、srcディレクトリのmain.rsというファイルになります。

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

ビルド

ビルドにはcargo buildを使います。
helloディレクトリにいる状態で実行します。

Copy
$ cargo build
   Compiling hello v0.1.0 (/mnt/c/workspace/Github/language-examples/Rust/hello)
    Finished dev [unoptimized + debuginfo] target(s) in 2.38s

$ tree .
.
├── Cargo.lock
├── Cargo.toml
├── src
│   └── main.rs
└── target
    ├── CACHEDIR.TAG
    └── debug
        ├── build
        ├── deps
        │   ├── hello-f10f454b064da970
        │   └── hello-f10f454b064da970.d
        ├── examples
        ├── hello
        ├── hello.d
        └── incremental
            └── hello-2mghwo7kpinkd
                ├── s-ge03h8nmqd-uw9nnv-1uzy4u92gue27
                │   ├── 1d6crpaiajeebzfe.o
                │   ├── 3a44f156fv0rzb76.o
                │   ├── 3g9kzsj53phza7ii.o
                │   ├── 42jn790wo4cvbi0y.o
                │   ├── 48bco2yrw0xezka8.o
                │   ├── 54y1yn6ksdtd3wa1.o
                │   ├── 5doja4y44nwg3ez0.o
                │   ├── 5dxeof03oiet4swm.o
                │   ├── dep-graph.bin
                │   ├── query-cache.bin
                │   └── work-products.bin
                └── s-ge03h8nmqd-uw9nnv.lock

9 directories, 20 files

いろいろなファイルができますが、実行ファイルは target/debug/hello です。
実行ファイルなどを削除して最初の状態に戻したいときは cargo clean を使います。

clean後
Copy
$ cargo clean
$ tree .
.
├── Cargo.lock
├── Cargo.toml
└── src
    ├── main
    └── main.rs

プログラムの実行

直接実行する

まずは実行ファイルを直接実行する方法。

Copy
$ ./target/debug/hello
Hello, world!

cargo run を使って実行する

またはcargo runを使う。 cargo runはビルドと実行が同時に行われます。

Copy
$ cargo run
    Finished dev [unoptimized + debuginfo] target(s) in 0.04s
     Running `target/debug/hello`
Hello, world!

1つのファイルのみコンパイルする

rustcを使います。
ソースと同じディレクトリに実行ファイルができあがります。

srcディレクトリ上で実行
Copy
$ rustc main.rs
$ ls -l
合計 3800
-rwxrwxrwx 1 fumo fumo 3887960  9月 29 23:51 main
-rwxrwxrwx 1 fumo fumo      45  9月 29 23:26 main.rs
$ ./main
Hello, world!

参考

サンプルソース

参考書籍