第1章 Rust安装

news2024/10/6 5:58:24

Rust是一门安全的语言,最近也加入到Linux内核中,因此后续这门语言会越来越流行,所以准备学习下,本篇介绍Rust在Window平台上的安装过程。

目录

安装步骤

1.到官网下载安装包

2.搭建 Visual Studio Code 开发环境


安装步骤

1.到官网下载安装包

安装 Rust - Rust 程序设计语言

下载来是一个10左右的在线安装器rustup-init.exe

双击rustup-init运行安装器


Welcome to Rust!

This will download and install the official compiler for the Rust
programming language, and its package manager, Cargo.

Rustup metadata and toolchains will be installed into the Rustup
home directory, located at:

  C:\Users\chenyj\.rustup

This can be modified with the RUSTUP_HOME environment variable.

The Cargo home directory is located at:

  C:\Users\chenyj\.cargo

This can be modified with the CARGO_HOME environment variable.

The cargo, rustc, rustup and other commands will be added to
Cargo's bin directory, located at:

  C:\Users\chenyj\.cargo\bin

This path will then be added to your PATH environment variable by
modifying the HKEY_CURRENT_USER/Environment/PATH registry key.

You can uninstall at any time with rustup self uninstall and
these changes will be reverted.

Current installation options:


   default host triple: x86_64-pc-windows-msvc
     default toolchain: stable (default)
               profile: default
  modify PATH variable: yes

1) Proceed with installation (default)
2) Customize installation
3) Cancel installation
>

上面显示安装的三个路径

C:\Users\chenyj\.cargo

C:\Users\chenyj\.cargo\bin

C:\Users\chenyj\.rustup

这里采用默认的安装方式,输入1

 接回车安装完成

配置环境变量

 测试环境变量 rustc -V //V是大写

 以上结果显示rust安装成功

2.搭建 Visual Studio Code 开发环境

2.1. 下载vs Code

下载其最新可用的安装包:

Visual Studio Code - Code Editing. Redefined

安装成功后,配置中文菜单

 2.2. 用同样的方法再安装 rust-analyzer 和 Native Debug 两个扩展

 

重新启动 VSCode,Rust 的开发环境就搭建好了。

3. 编写代码进行测试

新建一个D:\code\rustDemo目录

在 VSCode 中打开新建的文件夹:

【文件】-》【打开文件夹】

打开文件夹之后选择菜单栏中的"终端"-"新建终端",会打开一个新的终端:

 新建一个first文件夹

在这个文件夹下创建一个first.rs的文件

输入以下代码

fn main() {
    println!("this is first rust program!");
}

Hello, World! - Rust 程序设计语言 简体中文版

仅仅使用 rustc 编译简单程序是没问题的,不过随着项目的增长,你可能需要管理你项目的方方面面,并让代码易于分享。接下来,我们要介绍一个叫做 Cargo 的工具,它会帮助你编写真实世界中的 Rust 程序。

Hello, Cargo! - Rust 程序设计语言 简体中文版

在终端中输入命令:

$ cargo new hello_cargo

$ cd hello_cargo

第一行命令新建了名为 hello_cargo 的目录和项目。我们将项目命名为 hello_cargo,同时 Cargo 在一个同名目录中创建项目文件。

进入 hello_cargo 目录并列出文件。将会看到 Cargo 生成了两个文件和一个目录:一个 Cargo.toml 文件,一个 src 目录,以及位于 src 目录中的 main.rs 文件。

这也会在 hello_cargo 目录初始化了一个 git 仓库,以及一个 .gitignore 文件。如果在一个已经存在的 git 仓库中运行 cargo new,则这些 git 相关文件则不会生成;可以通过运行 cargo new --vcs=git 来覆盖这些行为。

 hello_cargo目录下有个Cargo.toml文件,内容为

[package]
name = "hello_cargo"
version = "0.1.0"
edition = "2021"

# See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html

[dependencies]

构建并运行cargo项目。

cargo build

.\target\debug\hello_cargo

也可以使用 cargo run 在一个命令中同时编译并运行生成的可执行文件

 Cargo 还提供了一个叫 cargo check 的命令。该命令快速检查代码确保其可以编译,但并不产生可执行文件:

 这里把代码故意写错一个符号

我们回顾下已学习的 Cargo 内容:

  • 可以使用 cargo new 创建项目。
  • 可以使用 cargo build 构建项目。
  • 可以使用 cargo run 一步构建并运行项目。
  • 可以使用 cargo check 在不生成二进制文件的情况下构建项目来检查错误。
  • 有别于将构建结果放在与源码相同的目录,Cargo 会将其放到 target/debug 目录。

使用 Cargo 的一个额外的优点是,不管你使用什么操作系统,其命令都是一样的。所以从现在开始本书将不再为 Linux 和 macOS 以及 Windows 提供相应的命令。

vscodes配置调试环境

Cargo 教程 | 菜鸟教程

用vscode打开hello_cargo文件夹,

在hello_cargo文件夹中创建.vscode目录(前面是点号开头),新建两个文件tasks.json和launch.json,文件内容如下:

tasks.json文件内容:

{
	"version": "2.0.0",
	"tasks": [{
		"label": "build",
		"type": "shell",
		"command": "cargo",
		"args": ["build"]
	}]
}

 launch.json文件内容:

{
	"version": "0.2.0",
	"configurations": [{
		"name": "(Windows)启动",
		"preLaunchTask": "build",
		"type": "cppvsdbg",
		"request": "launch",
		"program": "${workspaceFolder}/target/debug/${workspaceFolderBasename}.exe",
		"args": [],
		"stopAtEntry": false,
		"cwd": "${workspaceFolder}",
		"environment": [],
		"externalConsole": false
	}]
}

关于"program": "${workspaceFolder}/target/debug/${workspaceFolderBasename}.exe",

workspaceFolder这个代表工程目录, workspaceFolderBasename这个代表生成的可执行文件名,这个是固定的,不能随意修改。

打开源文件,设置断点启动调试

 

参考:

环境搭建 | 菜鸟教程

安装 Rust - Rust 程序设计语言

Rust语言开发环境搭建详细教程_令狐掌门的博客-CSDN博客_rust开发

Rust安装、VS Code 搭建 Rust 开发环境_西京刀客的博客-CSDN博客_code rust

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

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

相关文章

webpack 简介以及为什么要用webpack

webpack 是什么 webpack 是一个用于现代JavaScript 应用程序的静态模块打包工具。 看来像是1个js的打包工具, 但是实际上并没有这么简单 传统html js 写法1 对于前端新手, 或者被逼写前端的后端开发, 他们写的代码很可能是这样的 html: &…

mysql高可用(MHA集群)

目录 一、MHA概述 (1)什么是MHA (2)MHA的组成 1)MHA Node(数据节点) 2)MHA Manager(管理节点) (3)MHA的特点 二、搭建mysql HMA…

软件体系结构复习文档

引言: 软件体系结构是大三下学期我们学的一门专业课,这门课学院给我们安排的是一名女老师上的,课没给我留下多深的印象,女老师倒是给我留下了深刻的印象,温柔,漂亮、高挑。上完每节课老师都把ppt和资料发到…

基于Android与多媒体的英文学习APP的设计

毕业设计(论文)任务书 第1页 毕业设计(论文)题目:基于Android与多媒体技术的英文学习APP的设计与实现设计(论文)要求及原始数据(资料):1.综述国…

深入理解Java虚拟机:(一)Java代码是如何运行的?

jdk 的子目录下也存在一个 jre。 而我 C盘目录下也有一个 jre。 这两个 jre 有啥联系吗? 答案是:没有联系。甚至准确的来说,它俩是一样的,无论是用哪一个都是可以的。只是很多人习惯将会单独安装另一个 jre,虽然单独…

017 | JavaWeb企业进销存管理系统源码附带毕业设计论文 | 大学生毕业设计 | 极致技术工厂

进销存管理系统是一个基于Internet的应用系统,它是一个面对当前的进销存管理工作基本还处于手工和半信息自动化处理状态而应运而生的一个基于Internet的一个完全信息自动化的系统,整个系统从符合操作简便、界面友好、灵活、实用、安全的要求出发&#xf…

100天精通Python(数据分析篇)——第68天:Pandas数据清洗函数大全

文章目录每篇前言1. duplicated()2. drop_duplicates()3. isnull()4. notnull()5. dropna()6. fillna()7. ffill()8. bfill()9. replace()10. str.replace()11. str.split.str()每篇前言 🏆🏆作者介绍:Python领域优质创作者、华为云享专家、阿…

在PostgreSQL中通过dblink兼容Oracle数据库中的自治事务

1、数据库事务原子性的局限与自治事务 1.1、事务原子性概述 如下所示,如果一个事务中有A和B两个数据的插入操作,当A的SQL语句执行成功后,因为某种原因(如服务器断电等),导致B的SQL语句执行失败&#xff0…

微服务框架 SpringCloud微服务架构 微服务保护 32 隔离和降级 32.3 线程隔离【舱壁模式】

微服务框架 【SpringCloudRabbitMQDockerRedis搜索分布式,系统详解springcloud微服务技术栈课程|黑马程序员Java微服务】 微服务保护 文章目录微服务框架微服务保护32 隔离和降级32.3 线程隔离【舱壁模式】32.3.1 线程隔离【舱壁模式】32.3.2 案例32.3.3 总结32 隔…

【BBuf的CUDA笔记】一,解析OneFlow Element-Wise 算子实现

0x0. 前言 由于CUDA水平太菜,所以一直没写过这方面的笔记。现在日常的工作中已经不能离开写CUDA代码,所以准备学习ZZK随缘做一做CUDA的笔记记录一下学习到的知识和技巧。这篇文章记录的是阅读OneFlow的Element-Wise系列CUDA算子实现方案学习到的技巧&am…

MySQL主从复制与读写分离

目录 前言 一、MySQL主从复制的理解 1、MySQL的复制类型 2、MySQL主从复制的工作流程 3、MySQL架构(一主多备) 3.1 一主多备 3.2 M-S-S 3.3 M-M/双主互备 (互为主从) 3.4 M-M-M 4、MySQL主从复制延迟原因 5、MySQL主从…

FL Studio2023最新版编曲音乐制作数字音频软件

FL Studio2023即“Fruity Loops Studio”,也就是众所熟知的水果软件, 全能音乐制作环境或数字音频工作站(DAW)。FL Studio可以编曲、剪辑、录音、混音,让你的计算机成为全功能录音室。 FL Studio2023是一个完整的软件音…

学术分享 | 清华大学 康重庆:电力系统碳计量技术与应用(Matlab代码实现)

💥💥💥💞💞💞欢迎来到本博客❤️❤️❤️💥💥💥​ 📋📋📋本文目录如下:⛳️⛳️⛳️ 目录 ​ 0 写在最前面 1 学术分享 | …

MATLB|改进遗传算法优化微电网调度(考虑环境)

💥💥💥💞💞💞欢迎来到本博客❤️❤️❤️💥💥💥 🏆博主优势:🌞🌞🌞博客内容尽量做到思维缜密,逻辑…

Redis 高可用之持久化

Redis 高可用之持久化Redis 高可用什么是高可用Redis的高可用技术Redis持久化持久化的功能Redis提供两种方式进行持久化:RDB持久化触发条件bgsave执行流程启动时加载AOF持久化(支持秒级写入)开启AOF执行流程启动时加载RDB和AOF的优缺点RDB持久…

CSC7261M

CSC7261M是一款内置高压MOS的高性能、多工作模式的PWM控制芯片,内置多种保护机制。当系统为空载和轻载时,芯片采用Burst和Green控制模式可有效地减少了空载和轻载时的损耗。当系统为中载和重载时,CSC7261M芯片采用CCM模式可有效提升电源系统的…

校招面试中常见的算法题整理【长文】

⭐️我叫恒心,一名喜欢书写博客的研究生在读生。 原创不易~转载麻烦注明出处,并告知作者,谢谢!!! 这是一篇近期会不断更新的博客欧~~~ 有什么问题的小伙伴 欢迎留言提问欧。 文章目录前言一、链表问题1 合并…

Anaconda安装详细教程

一、Anaconda下载 (1)方式一:Anaconda官网 不推荐使用官网下载: (1)官网下载速度非常慢,需要使用国内源下载 (2)官网下载的是最新版本,可能使用时会出现意料…

基于java+springboot+mybatis+vue+mysql的地方废物回收机构管理系统

项目介绍 地方废物回收机构管理系统能够通过互联网得到广泛的、全面的宣传,让尽可能多的用户了解和熟知地方废物回收机构管理系统的便捷高效,不仅为用户提供了服务,而且也推广了自己,让更多的用户了解自己。对于地方废物回收机构…

【 SQLite3移植到ARM Linux教程】

SQLite3移植到ARM Linux教程1 下载 SQLite3源码2 复制并解压源码包3 配置编译选项4 编译5 去除调试信息6 复制文件7 运行测试sqlite3SQLite 是一款轻型的数据库,是遵守ACID的关联式数据库管理系统,它的设计目标是嵌入式的,而且目前已经在很多…