Rust by Example

11.1 ライブラリ

ではライブラリを作成し、それを別のクレイトにリンクする方法を見ていきましょう。

// rary.rs
pub fn public_function() {
    println!("called rary's `public_function()`");
}

fn private_function() {
    println!("called rary's `private_function()`");
}

pub fn indirect_access() {
    print!("called rary's `indirect_access()`, that\n> ");

    private_function();
}
$ rustc --crate-type=lib rary.rs
$ ls lib*
library.rlib

ライブラリは「lib」が頭につき、デフォルトでは、その後ろに元となったクレイトファイル名をつけます。(訳注: ここではlib + rary)この振る舞いはcrate_nameアトリビュートを用いてオーバーライドできます。