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

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

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.lryc.cn/news/537815.html

相关文章:

  • 浅聊MQ之Kafka与RabbitMQ简用
  • 【原创】解决vue-element-plus-admin无法实现下拉框动态控制表单功能,动态显隐输入框
  • SpringBoot开发——初步了解SpringBoot
  • 双轴伺服电机驱动控制器AGV、AMR专用双伺服电机驱动控制器解决方案
  • 【VB语言】EXCEL中VB宏的应用
  • Ubuntu添加桌面快捷方式
  • 10G EPON光模块
  • Elasticsearch+Logstash+Kibana可视化集群部署
  • 基于CanMV IDE 开发软件对K210图像识别模块的开发
  • win11系统 Docker Desktop提示Docker Engine stopped解决全过程记录
  • 工作室如何实现一机一IP
  • WEB安全--SQL注入--二次注入
  • 构建现代微服务安全体系:Spring Security、JWT 与 Spring Cloud Gateway 实践
  • Spring Boot 动态数据源实操指南
  • HBase高级技巧:解锁更强大的数据处理能力
  • 【进阶】JVM篇
  • DeepSeek官方推荐的AI集成系统
  • 【动态规划篇】:当回文串遇上动态规划--如何用二维DP“折叠”字符串?
  • JENKINS(全面)
  • Promise详解大全:介绍、九个方法使用和区别、返回值详解
  • 尚硅谷爬虫note004
  • Debezium系列之:时区转换器,时间戳字段转换到指定时区
  • ubuntu20.04声音设置
  • 如何设置Python爬虫的User-Agent?
  • 深度学习框架探秘|TensorFlow:AI 世界的万能钥匙
  • C++:高度平衡二叉搜索树(AVLTree) [数据结构]
  • 建筑兔零基础自学python记录18|实战人脸识别项目——视频检测07
  • 【MySQL数据库】Ubuntu下的mysql
  • [MySQL#1] database概述 常见的操作指令 MySQL架构 存储引擎
  • 1.从零开始学会Vue--{{基础指令}}