Rust crate 单元包/库

发布时间: 更新时间: 总字数:408 阅读时间:1m 作者: IP上海 分享 网址

Rust使用crate来构建、测试、共享,Crate 单元包是一个模块树,有两种类型:binary 可执行文件library 库

介绍

Crate Root:源代码的文件,Rust 编译器以此目录作为 Crate 的根 Module,一个 Package 下包括:

  • 1个 Cargo.toml 配置文件,用来描述如何构建 Crates
  • 只能包含 0~1 个 library crate
  • 可以包含任意数量的 binary crate
  • 且至少包含一个 Create(binary 或 library)

Crate 作用:将相关功能组合到一个作用域内,便于在项目间进行共享

约定

Crate Root 在 Cargo 的约定如下:

  • binary crate
    • 默认文件:src/main.rs,package 包含一个 binary crate
      • binary crate 的 crate root(根)
      • crate 名与 package 名相同
    • 多个可执行程序:src/bin/*.rs,package 包含多个 binary crate
      • 每个文件是单独的 binary crate
  • library crate
    • src/lib.rs:package 包含一个 library crate
      • library crate 的 crate root(根)
      • crate 名与 package 名相同
  • Cargo 将 crate root 文件交给 rustc 来构建 librarybinary

binary crate

可以将业务逻辑从 main.rs 拆分为到 lib.rs 中,一般 main.rs 中内容:

  • 参数解析
  • 调用 lib.rs 中的 run 函数
  • 处理 run 函数中可能的错误
Home Archives Categories Tags Statistics
本文总阅读量 次 本站总访问量 次 本站总访客数