【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包更容易使用的约定。
相关推荐
泡海椒13 分钟前
jquick-pdf 柱状图(JBar)实战:Java 生成政务项目审批数量趋势 PDF
后端
灿飞24 分钟前
Kotlin与Java虚拟机十一:类与属性:构造顺序、backing field 与显式 backing field
java·后端·kotlin
终码一生25 分钟前
IntelliJ IDEA 2026.3 发布:智能体住进 IDE
后端
Gopher_HBo26 分钟前
profbuf.go —— 单写单读无锁环形缓冲
后端
ShineWinsu42 分钟前
对于Qt:QListWidget常见属性以及QListWidgetItem类的解析
开发语言·c++·qt·客户端·列表·qlistwidget·qlistwidgetitem
Oracle恢复实录1 小时前
YashanDB → Oracle DBLink:PL/SQL 变量日期条件未下推
后端
西风测评1 小时前
安全的自动更新怎么做:minisign 签名、先验签后解析与防回滚
rust·ssh
橙序员小站1 小时前
插件发布3天,下载破千:我把公众号创作接进了DSH
后端
吴名氏.1 小时前
Java转AI Agent教程(第十二周)检索与切分
java·开发语言·人工智能·ai·ai agent
用户298698530142 小时前
Python 实战:把代码写入 Word 文档的两种实现方式
后端·python·api