当前位置: 首页 > news >正文

Rust 的构建系统和包管理器

Rust 的构建系统和包管理器

什么是Cargo

Cargo 是 Rust 官方提供的构建系统和包管理器,是 Rust 生态的核心工具之一。它不仅能自动化处理项目的编译、链接等构建流程,还能管理依赖、运行测试、生成文档、发布包等,极大简化了 Rust 项目的开发和维护。

Cargo的核心功能

  1. 构建自动化:它可以自动处理编译顺序、链接依赖等复杂流程。
  2. 依赖管理:统一管理项目依赖的第三方库。

安装Cargo

如果你安装了Rust,一般Cargo也安装好了,输入以下命令看看Cargo是否安装:

cargo --version

如果安装成功如下图所示:

在这里插入图片描述

如果没安装,请重新用Rustup安装。

用Cargo构建一个项目

  1. 输入以下命令构建Cargo项目:
cargo new <name>

在这里插入图片描述

生成的代码结构如下图所示:

在这里插入图片描述

它初始化了一个新的 Git 存储库以及一个 .gitignore 文件。如果您在现有 Git 存储库中运行 cargo new,则不会生成 Git 文件;您可以使用 cargo new --vcs=git 覆盖此行为。

  1. 打开Cargo.toml文件如下图所示:

在这里插入图片描述

Cargo的配置格式为toml`

[package]表示是一个节标题,指示以下语句正在配置包。

接下来的三行设置了 Cargo 编译程序所需的配置信息:名称、版本和要使用的 Rust 版本。

[dependencies] 是一个部分的开头,供您列出任何 项目的依赖项。

  1. src/main.rs

在这里插入图片描述

Cargo 自动生成了一个 “Hello, world!” 程序,源文件一般都放在src目录下。

编译和运行Cargo项目

在控制台中输入以下命令编译项目,并生成可执行文件:

cargo build

在这里插入图片描述

生成的可执行文件在 *target\debug\*

再在控制台中输入 以下命令,执行可执行文件:

.\target\debug\HelloCargo.exe

在这里插入图片描述

也可以直接使用以下命令直接编译运行可执行文件:

cargo run

在这里插入图片描述

现在你就会使用cargo构建项目以及编译运行了。

Cargo的命令

命令作用
cargo new <name>创建新二进制项目(默认生成 src/main.rs
cargo new <name> --lib创建新库项目(生成 src/lib.rs
cargo build编译项目(默认生成调试模式产物,位于 target/debug/
cargo build --release编译发布模式产物(优化编译,位于 target/release/
cargo run编译并运行项目(等价于 cargo build && ./target/debug/<name>
cargo run -- <args>运行项目并传递命令行参数(如 cargo run -- --help
cargo check快速检查代码是否有错误(不生成二进制,比 build 快)
cargo test运行所有测试(单元测试、集成测试、文档测试)
cargo doc生成项目文档(包括依赖的文档,位于 target/doc/
cargo doc --open生成文档并自动在浏览器打开
cargo update根据 Cargo.toml 的版本约束更新依赖(更新 Cargo.lock
cargo clean清理构建产物(删除 target/ 目录)
赖(更新 Cargo.lock
cargo clean清理构建产物(删除 target/ 目录)
cargo publish将库发布到 crates.io(Rust 中央包仓库)
http://www.dtcms.com/a/545605.html

相关文章:

  • AI驱动嵌入式软件全链路变革:从芯片到系统的深度智能重构
  • 怎么修改网站域名推广网站排行榜
  • 靠谱的电磁阀维护保养
  • 【自动化测试函数 (下)】Web自动化攻坚:应对加载等待、浏览器导航与无头模式的自动化脚本艺术
  • 正向代理工具
  • 攀枝花建设工程有限责任公司网站中国兰州网
  • Kubernetes 部署
  • 网站建设投标人资质要求wordpress邮箱如何解析
  • 鞍山商城网站建设运城手机网站制作
  • 【GitLab/CD】前端 CD
  • 做简报的网站竹制品网站怎么做
  • Kafka使用-Consumer
  • 诸暨网站建设怎么建立微网站?
  • 【Docker】【1.docker常用命令总结】
  • 深圳的网站建设公司的外文名是wordpress异步加载
  • 创客匠人2025万人高峰论坛:如何融合创始人IP与AI?
  • Linux中完成根文件系统的最终准备和切换prepare_namespace函数的实现
  • A800 部署 Qwen2-VL-8B-Instruct 完整指南
  • rust:第一个程序HelloWorld
  • 给新公司建网站用代理访问永久域名
  • 启动Hana失败 FAIL: process hdbdaemon HDB Daemon not running
  • iOS 26 内存占用监控 多工具协同下的性能稳定性分析实战
  • Kubernetes service管理
  • 布吉企业网站建设百度网站两两学一做心得体会
  • 深入仓颉(Cangjie)编程语言:循环的革命——从“命令式”操控到“声明式”安全迭代
  • 画出网站和目录结构图wordpress 自定义表
  • linux gpio errno EBUSY问题举例分析
  • 如何在 macOS 中清理 Homebrew 软件包 ?
  • 手机网站设计立找亿企邦湖南长沙房价2023年最新房价
  • 如何选择徐州网站开发wordpress新建页面位置