【Rust】Cargo介绍
2025/2/21 3:40:06
来源:https://blog.csdn.net/C2681595858/article/details/140237684
浏览:
次
关键词:【Rust】Cargo介绍
一、Cargo简介
- Cargo 是Rust语言的包管理工具,它帮助我们管理我们项目的依赖。
- 做js开发的同学应该了解nodejs的包管理工具npm,Cargo和npm做的事情是一样的。
- C和C++的同学可能对这个就比较陌生了,C/C++语言没有统一的依赖管理工具,各个项目用的依赖管理工具不仅相同。有用Cmake的,也有用GN的。
二、Cargo基本用法
cargo new hello_world
创建新项目。cargo new hello_world --bin
创建二进制程序新项目。cargo new hello_world --lib
创建库程序新项目。cargo build
编译,默认编译debug程序。cargo run
编译和运行。cargo build --release
构建发布程序,做了优化,编译较慢
三、为什么要有Cargo
- 在Rust语言中一个库或者一个可执行文件,被称为crate。Crate是通过rustc工具编译出来的。
rustc hello.rs
可以直接通过rustc编译rust文件。 - 如果所有文件的编译都使用rustc来编译,文件比较多的时候,这个编译命令就会越来越多,并且如果文件依赖比较复杂,那么编译命令就会变得更加复杂。在C/C++里面可以理解成直接使用gcc/g++命令来编译整个项目。
- 所以为了更加方便的管理项目之间的依赖,就有了Cargo工具。
四、Cargo做了什么
- 为了达成上述目标,Cargo做了四件事情:
- 引入了两个元数据文件,里面包含一些包信息。
- 获取并构建包的依赖项。
- 使用正确的参数用
rustc
或者其他构建工具来构建包。 - 提供使得rust包更容易使用的约定。