rust 介绍及开发环境配置(linux+windows)
作者:mmseoamin日期:2023-12-25

本文以windows或linux桌面作为开发环境

注意:rust需要c的编译器,linux默认有gcc,windows下为msvc,或者别的c编译器

rustup是官方的,会安装cargo包管理,这个cargo通常会伴随rust开发的全过程

一、介绍

官网链接:rust

rust 介绍及开发环境配置(linux+windows),**这里放一个小螃蟹的图**,第1张

(一)优点

1.内存安全,rust的所有特性都是围绕内存安全来设计的,个人认为像是内存安全的C++

2.运行效率高,和c一个水准,编译型语言通常不会太差

3.应用范围广,从web到桌面应用,再到嵌入式、基础中间件、操作系统都可以开发

(二)缺点

只有一个,那就是学习周期较长

(三)趋势和应用

windows、linux、mac os都有用rust开发操作系统的行为或意向。

web3.0(区块链)除了go,rust也是一个优先选项,夭折的Libra就是用rust开发的。

桌面应用典型的就是火狐浏览器,也是这个火狐孵化的这门语言。

wasm中,不少也是用rust。

嵌入式开发中,目前还是c/c++和硬件描述语言。

(四)在线试用

官方给的链接: rust在线编辑

二、windows开发环境

1.windows下c编译器安装(msvc)

直接安装独立的msvc

链接: msvc官方

rust 介绍及开发环境配置(linux+windows),在这里插入图片描述,第2张


通过vs studio安装msvc

如果点不开链接,还有一种方法,就是通过vs studio(注意不是vs code),选取社区版即可

链接: vs studio

rust 介绍及开发环境配置(linux+windows),在这里插入图片描述,第3张

安装完vs studio后直接选择这个c++桌面开发环境即可(我这里已安装过)

rust 介绍及开发环境配置(linux+windows),在这里插入图片描述,第4张

rust 介绍及开发环境配置(linux+windows),在这里插入图片描述,第5张

2.rustup安装

官方下载地址: rust

选择以下,下载后的文件名为rustup-init.exe

rust 介绍及开发环境配置(linux+windows),在这里插入图片描述,第6张会进入cmd命令行,一路默认回车即可

rust 介绍及开发环境配置(linux+windows),在这里插入图片描述,第7张

三、linux桌面开发环境

因为linux默认有gcc编译器,所以通常不需要安装

1.rustup安装

打开终端,运行官方脚本

curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh

见到以下界面,按回车即可

rust 介绍及开发环境配置(linux+windows),请添加图片描述,第8张

安装完成后刷新环境变量

source "$HOME/.cargo/env"
2.测试

在终端中输入

cargo --version

提示如下,说明安装成功

rust 介绍及开发环境配置(linux+windows),请添加图片描述,第9张

四、开发工具

在开发时,除了编辑器,还需要常开至少一个命令行,用作调试等操作(无论windows还是linux)

1.rustRover

jetbrains终于出rust的专有ide了,虽然还在测试阶段,不过应该是未来的首选

rust 介绍及开发环境配置(linux+windows),在这里插入图片描述,第10张

2.vs code

免费、好用、跨平台,必备

建议安装以下插件

rust 介绍及开发环境配置(linux+windows),在这里插入图片描述,第11张

3.clion|intelliJ

需要在插件中安装rust插件,不过有了rustRover,就可以不用这个插件了

rust 介绍及开发环境配置(linux+windows),在这里插入图片描述,第12张

4.轻量级编辑器-Fleet|Vim等

不推荐初学者使用,没有或提示很少。

5.Eclipse+rust插件

不推荐,可以自己去使用看看

六、设置cargo源

cargo是rust的管理工具

国内直接访问官方cargo源很慢

(一)linux下

vi /root/.cargo/config

内容如下,保存退出即可(后续使用的时候自己会更新)

[source.crates-io]
replace-with = 'tuna'
[source.tuna]
registry = "https://mirrors.tuna.tsinghua.edu.cn/git/crates.io-index.git"

五、关联博客

详见我的其它博客,预留位置,后续更新会填上,包括但不限于以下内容:

rust为了内存安全所创立的机制

rust数据类型

rust语法

cargo包管理使用

rust文档

rust开发框架

rust常用的包及说明