【Rust基础入门】Hello Cargo

news2024/11/23 14:59:20

文章目录

    • 前言
    • Cargo是什么?
    • Cargo的作用
    • 查看cargo版本
    • 使用cargo创建项目
      • Cargo.toml文件
      • cargo build命令
      • cargo run
      • cargo check
      • 为发布构建
    • 总结


前言

在Rust编程中,Cargo扮演着至关重要的角色。它是Rust的包管理器,负责处理许多任务,如构建代码、下载和编译依赖等。本文将介绍Cargo的基本概念和功能,帮助你理解它在Rust编程中的重要性。

Cargo是什么?

Cargo是Rust的包管理器。它的主要任务是管理Rust项目的构建过程,包括代码编译、依赖管理等。Cargo会下载你的Rust包的依赖项,编译你的包,生成可分发的包,并将它们上传到crates.io,这是Rust社区的包注册表。

Cargo的作用

Cargo的主要作用是简化和标准化Rust项目的构建和管理过程。以下是Cargo的一些主要功能:

  • 依赖管理:Cargo可以自动下载和编译你的Rust项目所需的所有依赖。
  • 构建和测试:Cargo提供了一种简单的方式来构建你的代码和运行测试。
  • 生成文档:Cargo可以为你的代码生成文档。
  • 发布:当你准备好发布你的库时,Cargo可以帮助你将其上传到crates.io。

查看cargo版本

使用这个命令即可查看:cargo --verison
在这里插入图片描述

使用cargo创建项目

使用这个命令即可创建:cargo new yourprojectname
在这里插入图片描述
在这里插入图片描述

Cargo.toml文件

Cargo.toml是Rust项目的清单文件,它存储了项目的所有信息。这个文件是用TOML格式编写的,包含了编译包所需的元数据。以下是Cargo.toml的一些主要组成部分:

  • cargo-features:只能用于nightly版本的特性。
  • [package]:定义项目的元信息,如项目名称、版本、开发者等。
  • [dependencies]:项目依赖的包。
  • [dev-dependencies]:用于examples、tests和benchmarks的依赖包。
  • [build-dependencies]:用于构建脚本的依赖包。
  • [target]:平台特定的依赖包。
  • [badges]:用于在注册服务(例如crates.io)上显示项目的一些状态信息¹。
  • [features]:可以用于条件编译。
  • [patch]:推荐使用的依赖覆盖方式。
  • [replace]:不推荐使用的依赖覆盖方式(已弃用)。
  • [profile]:编译器设置和优化。
  • [workspace]:工作空间的定义。

cargo build命令

cargo build命令是生成项目的可执行文件的
在这里插入图片描述
在文件夹里面就会来一个target文件夹,在里面的debug可以找到我们的可执行文件
在这里插入图片描述

cargo run

cargo run会进行编译代码,然后运行可执行文件
在这里插入图片描述

cargo check

cargo check他是检查代码的确保他能编译通过,他不编译代码

为发布构建

cargo build --release他是为我们发布程序时使用的命令

总结

Cargo是Rust编程的重要工具,它简化了许多编程任务,使得开发者可以专注于代码的编写。通过Cargo,我们可以轻松地管理依赖、构建和测试代码、生成文档以及发布库。理解和掌握Cargo的使用,对于Rust编程来说是非常重要的。希望这篇文章能帮助你理解Cargo的基本概念和功能,为你的Rust编程之旅提供帮助。祝你学习愉快!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1904916.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

JAVA之(方法的重载与重写、this关键字、super关键字)

方法的重载与重写 一、方法的重载与重写1、回顾方法的定义2、重载的概念3、重写 二、this关键字1、何为this方法2、使用方法(1)在构造方法中指构造器所创建的新对象(2) 方法中指调用该方法的对象(3) 在类本…

【Unity2D 2022:UI】制作角色血条

一、创建血底UI 1. 创建画布(Canvas) 2. 在画布上添加血底图像(Image)子物体 二、编辑血底UI 1. 将血底图片拖入源图像(Source Image)中 2. 点击设置为图片的原大小(Set Native Size&#x…

AIGC时代,“人”的核心价值在何处?

随着科技的浪潮汹涌向前,人工智能生成内容(AIGC)已悄然渗透至我们生活的每一个角落,从创意设计到信息传播,其影响力与变革力愈发显著。在这一由算法驱动的新纪元里,人类社会运作模式、学习途径及职业形态均…

【操作系统】进程管理——调度算法(个人笔记)

学习日期:2024.7.4 内容摘要:各种调度算法的思想、规则、优缺点介绍 为什么要有调度算法? 调度算法就好比一群人在银行办理业务,准备办理业务的人就是进程/作业,银行窗口的工作人员就是CPU,进程往往是比C…

【论文解读】可灵(快手)|LivePortrait:具有拼接和重定向控制的高效肖像动画

📜 文献卡 英文题目: LivePortrait: Efficient Portrait Animation with Stitching and Retargeting Control;作者: Jianzhu Guo; Dingyun Zhang; Xiaoqiang Liu; Zhizhou Zhong; Yuan Zhang; Pengfei Wan; Di ZhangDOI: 10.48550/arXiv.2407.03168摘要翻译: *旨在…

为什么固定尺寸 AdSense 广告依旧会出现并非指定的尺寸广告?

经常在网站上投放谷歌 AdSense广告的站长应该都碰到过,明明投放的是固定尺寸的广告位里旧会出现并非指定尺寸的AdSense 广告,很诡异的感觉。其实这都是因为你的 AdSense 账号广告优化造成的,其中里面就包含了广告尺寸优化,只需要在…

嵌入式鸿蒙系统openharmony编译方法详解

大家好,时光如梭,今天主要给大家分享一下,鸿蒙系统的使用方法,以及源码该如何编译,其中要注意的细节有哪些? 第一:OpenHarmony系统简介 OpenHarmony 是由开放原子开源基金会(OpenAtom Foundation)孵化及运营的开源项目, 目标是面向全场景、全连接、全智能时代,基于…

浏览器插件利器-allWebPluginV2.0.0.14-stable版发布

allWebPlugin简介 allWebPlugin中间件是一款为用户提供安全、可靠、便捷的浏览器插件服务的中间件产品,致力于将浏览器插件重新应用到所有浏览器。它将现有ActiveX插件直接嵌入浏览器,实现插件加载、界面显示、接口调用、事件回调等。支持谷歌、火狐等浏…

puppeteer 爬虫初探

1. puppeteer 和 puppeteer-core 安装 puppeteer 会默认下载一个最新版本的 chrome 浏览器; 安装 puppeteer-core ,不会安装 chrome, 若要程序打开浏览器运行时,需手动指定电脑系统安装的 chrome 浏览器路径; 2. puppeteer-core …

【TB作品】51单片机 Proteus仿真 超声波读取+LCD1602显示仿真12MHZ

实验报告:51单片机 Proteus仿真 超声波读取LCD1602显示仿真 一、实验背景 本实验旨在使用51单片机(AT89C51)结合超声波传感器HC-SR04和LCD1602液晶显示屏,通过Proteus仿真平台实现超声波测距功能,并将测得的距离显示…

# [0705] Task06 DDPG 算法、PPO 算法、SAC 算法【理论 only】

easy-rl PDF版本 笔记整理 P5、P10 - P12 joyrl 比对 补充 P11 - P13 OpenAI 文档整理 ⭐ https://spinningup.openai.com/en/latest/index.html 最新版PDF下载 地址:https://github.com/datawhalechina/easy-rl/releases 国内地址(推荐国内读者使用): 链…

SAP已下发EWM的交货单修改下发状态

此种情况针对EWM未接收到ERP交货单时,可以使用此程序将ERP交货单调整为未分配状态,在进行调整数据后,然后使用VL06I(启用自动下发EWM配置,则在交货单修改保存后会立即下发EWM)重新下发EWM系统。 操作步骤如…

去O化神器 Exbase

随着去O化进程推动,很多旧业务依赖的oracle数据库,都需要实现做数据库的替换,当下能很好兼容Oracle,并实现异构数据库之间转换的工具并不多。这里给大家推荐一个商业工具数据库迁移工具exbase(北京海量)&am…

超高精电容传感器PCAP01调试+LABVIEW数据可视化调试手记

PCAP01超高精电容传感芯片STM32LabView可视化 文章目录 PCAP01超高精电容传感芯片STM32LabView可视化一、PCAP01介绍1.1、PCAP01引脚定义1.2、电容测量1.3、温度测量1.4、PCAP典型测试电路 二、PCAP01的STM32驱动2.1、SPI协议配置2.2、PCAP01浮空电容测量内部温度测量操作流程 …

秋招提前批面试经验分享(上)

⭐️感谢点开文章👋,欢迎来到我的微信公众号!我是恒心😊 一位热爱技术分享的博主。如果觉得本文能帮到您,劳烦点个赞、在看支持一下哈👍! ⭐️我叫恒心,一名喜欢书写博客的研究生在读…

【LVGL-SquareLine Studio】

LVGL-SquareLine Studio ■ SquareLine Studio-官网下载地址■ SquareLine Studio-参考博客■ SquareLine Studio-安装■ SquareLine Studio-汉化■ SquareLine Studio-■ SquareLine Studio-■ SquareLine Studio-■ SquareLine Studio-■ SquareLine Studio- ■ SquareLine S…

云动态摘要 2024-07-07

给您带来云厂商的最新动态,最新产品资讯和最新优惠更新。 最新优惠与活动 数据库上云优选 阿里云 2024-07-04 RDS、PolarDB、Redis、MongoDB 全系产品新用户低至首年6折起! [免费体验]智能助手ChatBI上线 腾讯云 2024-07-02 基于混元大模型打造,可通过对话方式生成可视化…

【vue组件库搭建06】组件库构建及npm发包

一、格式化目录结构 根据以下图片搭建组件库目录 index.js作为入口文件,将所有组件引入,并注册组件名称 import { EButton } from "./Button"; export * from "./Button"; import { ECard } from "./Card"; export * fr…

并查集(还有反集也在)

一.定义 定义: 并查集是一种树型的数据结构,用于处理一些不相交集合的合并及查询问题(即所谓的并、查)。比如说,我们可以用并查集来判断一个森林中有几棵树、某个节点是否属于某棵树等。 主要构成: 并查集…