介绍
Rust的构建工具和包管理工具,例如:构建代码、下载依赖库,功能类似npm。Rust安装后自带Cargo, 可以执行 cargo -V 检查是否已经安装
创建项目
1、手动命令创建项目, cargo + new关键字 + 项目名称(多个单词下划线分割)
cargo new hello_cargo
2、提升创建成功
3、目录结构,如下图所示
目录结构说明:
Cargo.toml
TOML/toml-v1.0.0.md at 龙腾道-译 · LongTengDao/TOML
TOML是 cargo的配置格式,在Rust中代码包称作 crate
构建项目
1、 手动命令构建项目,cargo build
仅负责生成可执行文件,需要手动运行代码
cargo build
2、 第一次执行成功,会增加target文件夹(可执行文件)和Cargo.lock(用过npm的同学作用应该都懂,~要不要这么熟悉呀)文件
3、第二次执行成功,不会有新文件增加
4、 手动运行
./target/debug/hellow_world
构建并运行项目
1、手动执行命令, cargo run
功能就是编译代码 + 执行结果
cargo run
2、 执行 cargo run 前,已经执行过 cargo build命令的情况
3、执行 cargo run 前,未执行过 cargo build命令的情况,
4、未修改代码,再次执行 cargo run 的情况
5、修改源代码后,再次执行 cargo run 的情况
为什么2和4 两种情况下都没有 Compiling 的过程?
1、如果之前代码已经编译过 且 代码没有发生修改,那么就会之前运行编译的代码;
2、如果之前代码没有编译过 或者 代码有发生修改,那么就会先编译代码、再运行。
代码预检查
1、手动执行命令, cargo check
功能就是检查代码是否能通过编译
cargo check
2、执行结果,不产生任何文件(不会有编译的过程)
cargo check 在开发过程中可以多次使用,执行速度比 cargo build 的快且不会产生可执行文件。结论:用好 cargo check 可以提升开发效率
构建发布
发布代码前需要代码做优化,手动执行命令,cargo build --release
执行后,会增加 target/release 目录存放可执行文件。在编译代码时会进行优化,但是编译时长要更长一些。
cargo build --release
对比 cargo build 的不同使用场景:
-代码开发阶段: 使用 cargo build, 存放可执行代码目录 :target/debug
-代码发布阶段: 使用 cargo build --release, 存放可执行代码目录 : target/release
总结
Cargo 命令
cargo -V // Cargo的安装版本
cargo new XX_XX // Cargo创建项目命令
cargo build // 开发阶段构建代码,不会自动运行代码
cargo run // 编译代码 + 运行代码
cargo check // 快速检查代码编译情况,不产生可执行文件
cargo build --release // 发布阶段构建代码,编译代码会进行优化,编译过程变长
复习思维导图