Crates
在 Rust 中,crate 是一个编译单元。每当执行 rustc some_file.rs
时,some_file.rs
就被视为crate 文件。如果 some_file.rs
中包含 mod
声明,那么模块文件的内容会在编译器处理之前被插入到 crate 文件中 mod
声明的位置。换句话说,模块不会被单独编译,只有 crate 才会被编译。
一个 crate 可以被编译成二进制文件或库。默认情况下,rustc
会将 crate 编译成二进制文件。通过向 rustc
传递 --crate-type
标志并指定 lib
,可以改变这一默认行为。