通过例子学习Rust

13.1 库

Let's create a library, and then see how to link it to another crate.

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

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

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

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

Libraries get prefixed with "lib", and by default they get named after their crate file, but this default name can be overridden using the crate_name attribute.