» Rust快速入门 » 2. 高级篇 » 2.1 Crates

Crates

在Rust中,一个 crate 是一个编译单元。一个 crate 可以被编译成一个二进制文件或一个库。

创建一个库

abc.rs 中:

pub fn a() {
    println!("abc's `a()`");
}

fn b() {
    println!("abc's `b()`");
}

pub fn c() {
    print!("abc's `c()`, which called \n");
    private_function();
}

如果你本地已经安装了 Rust,请尝试以下构建命令:

$ rustc --crate-type=lib abc.rs
$ ls lib*
libabc.rlib

库以 "lib" 为前缀,并且默认情况下它们以 crate 文件的名称命名。

使用库

fn main() {
    abc::a();

    // [error] `b` 是私有的
    abc::b();

    abc::c();
}