Skip to content

crate ​

Rust 的基本编译单元(编译单元:compiler unit,编译器一次处理的整体)。词源为"木板箱"——所有源码被打包进这一个箱子,作为整体参与编译,而非像 C/C++ 那样逐个文件单独编译再链接。

每个 crate 编译产物为以下二者之一:

  • binary crate(二进制 crate):可执行程序,入口为 src/main.rs 中的 main 函数
  • library crate(库 crate):供其他代码通过 use 引用,入口为 src/lib.rs

示例 ​

exercises/0001-playground 就包含一个 binary crate:

rust
// src/main.rs
fn main() {
    println!("Hello, world!");
}

参见 ​

  • package —— 一个 package 可包含多个 crate
  • workspace —— 多个 package 的集合