编程语言介绍:Rust

什么是Rust

    Rust是由Mozilla研究院开发的一种系统级编程语言,旨在提供更好的内存安全保证,同时保持高性能,自2010年首次发布以来,Rust以其安全性、并发性和实用性迅速获得了广泛的关注。Rust最独特的特性之一是其所有权模型,这使得编写的代码能够在编译期就避免许多常见的内存错误,比如空指针异常、数据竞争等,Rust 速度极快且内存高效:没有运行时垃圾收集器,它可以为性能关键型服务提供支持,并与其他语言轻松集成,能够消除许多类 编译时的错误。
Rust官方网站

如何安装Rust

    以Windows系统为例,在Rust官网中点击马上开始按钮
在这里插入图片描述
随后根据电脑系统来选择下载 RUSTUP-INIT.EXE(32位)下载 RUSTUP-INIT.EXE(32位),如果不清楚应该如何查看电脑位数,可以直接唤醒cmd窗口,在窗口中输入以下命令来查看:

wmic os get osarchitecture

在这里插入图片描述
随后双击下载好的安装文件
在这里插入图片描述
接下来会提示三个安装选项
在这里插入图片描述

  • 标准安装:直接按下Enter键即可进行默认设置的安装。
  • 自定义安装:允许你对安装过程进行一些定制,比如改变安装路径、选择不同的工具链版本等。
  • 取消安装:如果你现在不打算安装,可以选择此选项退出安装程序。

我们可以直接选择标准安装
在这里插入图片描述
安装完成后可以在终端中输入命令来检查是否安装成功:

rustc --version
cargo -V

当看到以下输出时代表安装成功
在这里插入图片描述
在这里插入图片描述

Rust输出Hello World

    我们可以先找萨满问问米,挑选一个风水好的文件夹,随后使用命令新建rust项目:

cargo new ggbond

在这里插入图片描述
其中src文件夹中的main.rs文件就是程序主文件,我们在项目的根目录使用命令,即可运行并构建项目:

cargo run

在这里插入图片描述
运行后,我们可以在项目文件夹中看到一个新建的target文件夹,构建的可运行程序就放在这个文件夹里
在这里插入图片描述

什么是cargo

    cargo是Rust 构建工具和包管理器,它简化了使用Rust进行开发的过程。无论是创建新项目、编译代码、运行测试还是发布包,Cargo都提供了相应的命令来帮助开发者高效地完成任务,通过Cargo可以轻松管理依赖关系、构建配置以及项目的元数据。

以下是日常开发中最常用的几个Cargo命令:

  1. 创建新项目

    cargo new project_name
    

    创建一个名为project_name的新Rust项目。

  2. 构建项目

    cargo build
    

    编译当前项目,输出在target/debug/目录下。

  3. 构建并优化项目

    cargo build --release
    

    使用优化选项编译项目,适用于生产环境,输出位于target/release/目录中。

  4. 运行项目

    cargo run
    

    编译并执行当前项目,方便快速测试代码变化。

  5. 检查代码

    cargo check
    

    快速检查代码是否有错误,但不生成可执行文件,适合频繁验证代码正确性。

  6. 运行测试

    cargo test
    

    执行项目中的所有测试,确保代码按预期工作。

  7. 查看文档

    cargo doc --open
    

    为当前项目及其所有依赖生成并打开API文档。

  8. 更新依赖

    cargo update
    

    更新Cargo.lock以反映最新版本的依赖。

  9. 添加依赖

    cargo add crate_name
    

    将指定的crate作为依赖添加到你的项目中(需要安装额外插件如cargo-edit)。

  10. 清理构建文件

    cargo clean
    

    清除之前构建生成的所有文件,释放磁盘空间。

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

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

相关文章

Java Spring MVC (2)

常见的Request Controller 和 Response Controller 的区别 用餐厅点餐来理解 想象你去一家餐厅吃饭: Request Controller(接单员):负责处理你的点餐请求,记录你的口味、桌号等信息。Response Controller&#xff08…

Oracle 字符类型对比

本文以 Oracle12c 为例 1.主要区别对比 类型存储方式最大长度字符集支持适用场景备注​CHAR(M)固定长度空格填充2000 字节,M 代表字节长度默认字符集固定长度编码实际存储长度固定为定义长度(如 CHAR(10) 始终占 10 字节)​VARCHAR2(M)可变长…

Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露

一:背景 1. 讲故事 前面跟大家分享过一篇 C# 调用 C代码引发非托管内存泄露 的文章,这是一个故意引发的正向泄露,这一篇我们从逆向的角度去洞察引发泄露的祸根代码,这东西如果在 windows 上还是很好处理的,很多人知道开…

vite.config.js 是Vite 项目的配置文件,分析具体用法

vite.config.js 是 Vite 项目的配置文件,用于定义项目的构建、开发服务器、插件等配置选项。以下是示例代码中各部分的作用分析: 1. 导入模块 import { fileURLToPath, URL } from node:url import { defineConfig } from vite import vue from vitejs…

行为模式---责任链模式

概念 责任链模式是一种行为设置模式,它的核心思想就是将请求的发送者和接收者进行解耦,每个接收者都可以处理请求。 在责任链模式中将每个接收者连成一个链条,当有请求发送上来的时候会经过每一个接收者。直到消息被处理。 适用场景 1、当…

pytest结合allure

Allure 一、文档二、指令三、装饰器3.1 allure.step装饰器3.2 allure.description装饰器3.3 allure.title装饰器3.4 allure.link、allure.issue 和 allure.testcase装饰器3.5 allure.epic、allure.feature 和 allure.story装饰器3.6 allure.severity装饰器 一、文档 allure文档…

前端知识点---http.createHttp()的理解(arkts)

通俗易懂的例子:点外卖 🍔🥤 想象一下,你在家里点外卖,HTTP 请求就像是你和餐厅之间的沟通方式。 1️⃣ 没有 http.createHttp():每次点餐都重新拨电话 📞 如果你每次点餐都重新拨打餐厅的电话…

大模型开发(五):P-Tuning项目——新零售决策评价系统(下)

P-Tuning项目——新零售决策评价系统(下) 0 前言1 P-Tuning原理2 数据处理 0 前言 上篇文章我们介绍了使用PET方式微调BERT模型,PET属于提示词微调的一种,另一种比较常见的提示词微调是P-Tuning,我们今天在相同的项目…

分布式中间件:Redis介绍

目录 Redis 概述 Redis 的特点 高性能 丰富的数据结构 持久化 分布式特性 简单易用 Redis 的数据结构 字符串(String) 哈希(Hash) 列表(List) 集合(Set) 有序集合&…

在昇腾GPU上部署DeepSeek大模型与OpenWebUI:从零到生产的完整指南

引言 随着国产AI芯片的快速发展,昇腾(Ascend)系列GPU凭借其高性能和兼容性,逐渐成为大模型部署的重要选择。本文将以昇腾300i为例,手把手教你如何部署DeepSeek大模型,并搭配OpenWebUI构建交互式界面。无论…

系统思考—组织诊断

“未经过诊断的行动是盲目的。” — 托马斯爱迪生 最近和一家教育培训机构沟通时,发现他们面临一个有意思的问题:每年招生都挺不错,但教师的整体绩效一直提升缓慢,导致师生之间存在长期的不匹配。管理层试了很多办法,…

AI大模型学习(五): LangChain(四)

Langchian读取数据库 案例:在数据库中表格数据上的问题系统的基本方法,将涵盖使用链和代理的视线,通过查询数据库中的数据并得到自然语言的答案,两者之间的主要区别在于,我们代理可以根据多次循环查询数据库以回答问题 实现思路: 1.将问题转换成DSL查询,模型将用…

人工智能与深度学习的应用案例:从技术原理到实践创新

第一章 引言 人工智能(AI)作为21世纪最具变革性的技术之一,正通过深度学习(Deep Learning)等核心技术推动各行业的智能化进程。从计算机视觉到自然语言处理,从医疗诊断到工业制造,深度学习通过模拟人脑神经网络的层次化学习机制,实现了对复杂数据的高效分析与决策。本…

支持向量机的深度解析:从理论到C++实现

支持向量机(SVM)是一种强大的监督学习算法,广泛应用于分类和回归任务。本文详细探讨了SVM的理论基础,包括最大间隔分离超平面、软间隔和核技巧(Kernel Trick)的数学原理,并通过LaTeX公式推导其优化目标。接着,我们用C++实现了一个简单的线性SVM,包括梯度下降优化求解支…

企业如何选择研发项目进度管理软件?盘点15款实用工具

这篇文章介绍了以下工具: 1. PingCode; 2. Worktile; 3. 腾讯 TAPD; 4. 华为 DevCloud; 5. 亿方云; 6. 阿里云效; 7. CODING 码云; 8. 明道云; 9. 进度猫; 10. 轻流等。 …

c++: 容器vector

文章目录 介绍initializer_list与string的不同底层总代码 介绍 C 中的 vector 是一种序列容器,它允许你在运行时动态地插入和删除元素。 vector 是基于数组的数据结构,但它可以自动管理内存,这意味着你不需要手动分配和释放内存。 与 C 数组相…

Qt常用控件之表格QTableWidget

表格QTableWidget QTableWidget 是一个表格控件,行和列交汇形成的每个单元格,是一个 QTableWidgetItem 对象。 1. QTableWidget属性 QTableWidget 的属性只有两个: 属性说明rowCount当前行的个数。columnCount当前列的个数。 2. QTableW…

Golang学习笔记_47——访问者模式

Golang学习笔记_44——命令模式 Golang学习笔记_45——备忘录模式 Golang学习笔记_46——状态模式 文章目录 一、核心概念1. 定义2. 解决的问题3. 核心角色4. 类图 二、特点分析三、适用场景1. 编译器实现2. 财务系统3. UI组件系统 四、Go语言实现示例完整实现代码执行结果 五、…

栈概念和结构

文章目录 1. 栈的概念2. 栈的分类3. 栈的实现(数组栈)3.1 接口设计(Stack.h)3.2 接口实现(Stack.c)1)初始化销毁2)栈顶插入删除3)栈顶元素、空栈、大小 3.3 完整代码Stac…

GitCode 助力 vue3-element-admin:开启中后台管理前端开发新征程

源码仓库: https://gitcode.com/youlai/vue3-element-admin 后端仓库: https://gitcode.com/youlai/youlai-boot 开源助力,开启中后台快速开发之旅 vue3-element-admin 是一款精心打造的免费开源中后台管理前端模板,它紧密贴合…