rust学习一、入门之搭建简单开发环境

news2025/2/20 10:26:44

1、搭建开发环境(windows11)

a.登录官网

一看就明白,此处略。

b.安装rustup

一看就明白,此处略。

c.安装 cargo script 或者 rust-script

script

cargo install cargo-script

完成后

注意:时间有一点点久。

测试

cargo script main.rs

这个东西可以运行一个单独的rs文件,在学习基础的时候非常有用

注:cargo-script很久没有更新,建议使用rust-script之类的。

d.安装ide

有多个选择,包括eclipse,jetbrain(rustover),vscode。

类似rustover这样的工具的好处之一:看标准库和外部单元包的代码会更加方便一些。

个人推荐使用vscode,因为插件多,性能可以接受,不像Jetbrain那样总是浪费资源。

在初学阶段,个人更喜欢使用cargo的命令行来运行。强烈建议初学者这样入门更好一些。

如果,您比较在意阅读源码,可以使用rustover,这个方面rustover能过提供更好的源码链接,但和vs的差距不大。

2、cargo命令

这是一个极其重要的工具,某种程度上类似mvn,但是比后者强大太多了。

2.1 查看cargo参数

在cmd下执行 cargo --help 可以查看常见的命令,具体效果因版本不同而不同,以下是1.81.0

cargo --help

如果要看更多的可以输入

cargo --list

如果想看更加详细,则可以看官网的文档:

https://doc.rust-lang.org/book/

  

2.2 常见的cargo命令

以下假设工程是在windows E:\learning\gitee\learnRust下,为了便于行文,以下使用$project替代

  • 安装/卸载三方包(可执行程序)  cargo install/uninstall. install有不少参数,包括可以查看安装了什么可执行程序

      cargo install --list可以查看安装了什么:

  • 更新依赖  cargo update
  • 查找包(crate) cargo search
  • 查看项目依赖包 cargo tree

      这个命令的说明比较多,常见的如cargo tree --depth n ,其中n是一个自然数

  • 工程-创建    cargo new projectName

       在$project下会生成cargo.toml文件,这个文件可以编辑。更多信息只能阅读高级内容,此处略。

  • 工程-重新初始化 cargo init ,在一个存在的目录中执行初始化
  • 工程-添加/删除依赖 cargo add/remove(rm) ...

       会修改cargo.toml,类似maven修改pom.xml

  • 工程-构建    cargo build/b

       在$project\target\debug 生成debug版本

  • 工程-发布    cargo build --realease

       在$project\target\release 下生成发布版本

  • 工程-运行测试版本 cargo run/r

      run命令有许多参数和选项,可以通过cargo help run来阅读,也可以看有关资料。

      特别注意,如果需要传递一些特别的参数,则必须形如:

      cargo run  --  xxx xxx  xxx    

      这里的 -- 表示之后的参数都是传递给程序的,而不是cargo的

      如:

      cargo run -- --help  给程序传递参数 "--help"

      如果直接输入cargo run --help xxxx   xxx  ,那么会显示cargo的回显信息,不会执行程序。

  • 工程-运行发布版本  cargo run --release / -r
  • 工程-检查  cargo check/c
  • 工程-测试  cargo test/t

       这个命令在开发阶段会被大量使用,值得好好研究。

  • 工程-移除target目录 cargo clean
  • 工程-发布 cargo publish 打包和上传到仓库

注意,cargo还为其中几个极其常用的命令提供了缩写,分别是:

  • build - b
  • check -c
  • run -r
  • test -t
  • remove -rm

2.3 cargo其它命令

其它的主要是一些关于仓库(包括代码仓库git和cargo仓库)的,以及其它一些乱七八糟的常规命令,例如

查看版本  cargo --version

查看命令帮助 cargo help xxx,例如cargo help run

查看文档 cargo doc ,这还是不错的

第一次运行的时候,cargo会先下载文档:

下载了之后就可以查看了 cargo doc --open ,会在浏览器上打开当前项目有关的文档

实际就是在$project\target\doc下创建html,并打开index.html。

这个还是非常方便的。

具体略。

3、其它几个命令

rustup   -- 安装rust工具链,构建开发环境

rustc     -- rust编译器,这个是实际核心。最体贴的编译器之一,大概就没有更体贴的。

4、ide(集成开发环境)+vscode

在经过一段时间使用后,我决定使用vscode作为我的ide。

优势:

  1. 免费
  2. 插件极多
  3. 功能也很足
  4. 资源占用少

现在ai编码助手极多,可以根据自己的意愿安装,诸如comate,copilot等等。

在入门阶段,建议不要倚重于ai,否则不会学到什么东西的。不要误把ai懂得当做自己懂得,那就大错特错了!

ai的存在,不应以猪化人类智能为代价!

但可以让ai帮助编写重复性得简单代码,帮助阅读一些源码!

5、小结

rust的开发环境很友好,令人惊讶。个人觉得比学习java更加方便。这是因为有个强大的cargo工具。

所以掌握cargo工具非常有必要,有了这个,即使没有专业的ide,也可以修改、编译、发布程序。

cargo的命令除了固有的一些,还有许多命令是可以通过cargo install而获得,例如cargo script

rust-script 是一个很强大的工具,非常适合初学者学习,强烈建议初学者掌握这个!在初级阶段,集成工具不是那么重要,集成工具对于单独调试倒是挺好用的。

就ide而言,我个人更倾向于使用vsCode,足够灵巧,又不像rustover那么无谓地耗费资源!

rust的有关事物的命名都十分古怪,什么rust,cargo,crate...  

希望后面rust不要为了创新而创新,弄一些非业内公知的名词,徒然浪费大家的时间。

  ​ ​

            关注灵活就业新业态,关注公账号:贤才宝(贤才宝https://www.51xcbw.com) ​ 

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

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

相关文章

FANUC机器人示教器中如何显示或关闭寄存器或IO的注释信息?

FANUC机器人示教器中如何显示或关闭寄存器或IO的注释信息? 如下图所示,我们打开一个子程序,可以看到程序中的寄存器和IO是显示注释信息的, 如果想关闭注释显示的话,怎么设置? 如下图所示,按下下一页的箭头(NEXT键), 如下图所示,点击“编辑”,在弹出的窗口中,选择“…

在springboot加vue项目中加入图形验证码

后端 首先先要创建一个CaptchaController的类,可以在下面的代码中看到 在getCaptcha的方法里面写好了生成随机的4位小写字母或数字的验证码,然后通过BufferedImage类变为图片,顺便加上了干扰线。之后把图片转为Base64编码方便传给前端 为了…

23. AI-大语言模型

文章目录 前言一、LLM1. 简介2. 工作原理和结构3. 应用场景4. 最新研究进展5. 比较 二、Transformer架构1. 简介2. 基本原理和结构3. 应用场景4. 最新进展 三、开源1. 开源概念2. 开源模式3. 模型权重 四、再谈DeepSeek 前言 AI‌ 一、LLM LLM(Large Language Mod…

Spring Cloud-Sentinel

Sentinel服务熔断与限流 Sentinel 是面向分布式、多语言异构化服务架构的流量治理组件,主要以流量为切入点,从流量控制、流量路由、熔断降级、系统自适应保护等多个维度来帮助用户保障微服务的稳定性。 官网地址:home | Sentinelhttps://sen…

Java中使用EasyExcel

Java中使用EasyExcel 文章目录 Java中使用EasyExcel一:EasyExcel介绍1.1、核心函数导入数据导出数据 1.2、项目实际应用导入数据导出数据 1.3、相关注解ExcelProperty作用示例 二:EasyExcel使用2.1、导入功能2.2、导出功能 三:EasyExcel完整代…

建筑兔零基础自学python记录18|实战人脸识别项目——视频检测07

本次要学视频检测,我们先回顾一下图片的人脸检测建筑兔零基础自学python记录16|实战人脸识别项目——人脸检测05-CSDN博客 我们先把上文中代码复制出来,保留红框的部分。 ​ 然后我们来看一下源代码: import cv2 as cvdef face_detect_demo(…

自定义基座实时采集uniapp日志

自定义基座实时采集uniapp日志 打测试包给远端现场(测试/客户)实际测试时也能实时看到日志了,也有代码行数显示。 流程设计 #mermaid-svg-1I5W9r1DU4xUsaTF {font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;fill:#333;}#mermaid…

AI知识库 - Cherry Studio

1 引言: 最近 DeepSeek 很火啊,想必大家都知道,DeepSeek 这个开源的模型出来后,因其高质量能力和R1 的思维链引发了大家本地部署的热潮。我也不例外,本地部署了一个 14B 的模型,然后把,感觉傻傻…

20250213 隨筆 雪花算法

雪花算法(Snowflake Algorithm) 雪花算法(Snowflake) 是 Twitter 在 2010 年開發的一種 分布式唯一 ID 生成算法,它可以在 高併發場景下快速生成全局唯一的 64-bit 長整型 ID,且不依賴資料庫,具…

(前端基础)HTML(一)

前提 W3C:World Wide Web Consortium(万维网联盟) Web技术领域最权威和具有影响力的国际中立性技术标准机构 其中标准包括:机构化标准语言(HTML、XML) 表现标准语言(CSS) 行为标准&#xf…

pdf.js默认显示侧边栏和默认手形工具

文章目录 默认显示侧边栏(切换侧栏)默认手形工具(手型工具) 大部分的都是在viewer.mjs中的const defaultOptions 变量设置默认值,可以使用数字也可以使用他们对应的变量枚举值 默认显示侧边栏(切换侧栏) 在viewer.mjs中找到defaultOptions,大概在732行,或则搜索sidebarViewOn…

学习总结三十三

括号序列 如果它是一个右括号,考察它与它左侧离它最近的未匹配的的左括号。如果该括号与之对应(即小括号匹配小括号,中括号匹配中括号),则将二者配对。简单理解,找到一个右括号,向左找一个左括号…

解决DeepSeek服务器繁忙问题

目录 解决DeepSeek服务器繁忙问题 一、用户端即时优化方案 二、高级技术方案 三、替代方案与平替工具(最推荐简单好用) 四、系统层建议与官方动态 用加速器本地部署DeepSeek 使用加速器本地部署DeepSeek的完整指南 一、核心原理与工具选择 二、…

Huatuo热更新--安装HybridCLR

1.自行安装unity编辑器 支持2019.4.x、2020.3.x、2021.3.x、2022.3.x 中任一版本。推荐安装2019.4.40、2020.3.26、2021.3.x、2022.3.x版本。 根据你打包的目标平台,安装过程中选择必要模块。如果打包Android或iOS,直接选择相应模块即可。如果你想打包…

flink cdc2.2.1同步postgresql表

目录 简要说明前置条件maven依赖样例代码 简要说明 在flink1.14.4 和 flink cdc2.2.1下,采用flink sql方式,postgresql同步表数据,本文采用的是上传jar包,利用flink REST api的方式进行sql执行。 前置条件 1.开启logical 确保你…

纪念日倒数日项目的实现-【纪念时刻-时光集】

纪念日/倒数日项目的实现## 一个练手的小项目,uniappnodemysql七牛云。 在如今快节奏的生活里,大家都忙忙碌碌,那些具有特殊意义的日子一不小心就容易被遗忘。今天,想给各位分享一个“纪念日”项目。 【纪念时刻-时光集】 一…

WPF的MVVMLight框架

在NuGet中引入该库&#xff1a; MVVMLight框架中的命令模式的使用&#xff1a; <StackPanel><TextBox Text"{Binding Name}"/><TextBox Text"{Binding Title}"/><Button Content"点我" Command"{Binding ShowCommand…

DeepSeek从入门到精通(清华大学)

​ DeepSeek是一款融合自然语言处理与深度学习技术的全能型AI助手&#xff0c;具备知识问答、数据分析、编程辅助、创意生成等多项核心能力。作为多模态智能系统&#xff0c;它不仅支持文本交互&#xff0c;还可处理文件、图像、代码等多种格式输入&#xff0c;其知识库更新至2…

【DeepSeek】DeepSeek R1 本地windows部署(Ollama+Docker+OpenWebUI)

1、背景&#xff1a; 2025年1月&#xff0c;DeepSeek 正式发布 DeepSeek-R1 推理大模型。DeepSeek-R1 因其成本价格低廉&#xff0c;性能卓越&#xff0c;在 AI 行业引起了广泛关注。DeepSeek 提供了多种使用方式&#xff0c;满足不同用户的需求和场景。本地部署在数据安全、性…

windows平台上 oracle简单操作手册

一 环境描述 Oracle 11g单机环境 二 基本操作 2.1 数据库的启动与停止 启动: C:\Users\Administrator>sqlplus / as sysdba SQL*Plus: Release 11.2.0.4.0 Production on 星期五 7月 31 12:19:51 2020 Copyright (c) 1982, 2013, Oracle. All rights reserved. 连接到:…