Rust安装(Windows)

安装Rust

进入Rust官网,下载Rustup(Rust安装器和版本管理工具)

image.png

下载rustup-init.exe后双击运行,进入以下界面:

image.png

1)通过 visual studio community 安装程序快速安装
2)手动安装必备组件
3)不安装必备组件

选择第三项。

输入3,点击回车,进入以下界面:

image.png

1)以默认设置继续安装
2)自定义安装
3)取消安装

建议新手选择第一项,以默认设置安装即可。(输入1,点击回车后等待直接安装完成)

这里以第二项自定义安装为例,输入2,点击回车进入以下界面:

image.png

Default host triple? —— 选择工具链?

  • 输入x86_64-pc-windows-gnu,表示选择GNU工具链。

Default toolchain? —— 工具链版本?

  • 输入stable,表示稳定版。

Profile (which tools and data to install)? —— 配置文件(要安装哪些工具和数据)?

  • 输入default,表示默认。

Modify PATH variable? —— 修改环境变量?

  • 输入Y,表示修改环境变量

配置完毕后,输入1,点击回车继续安装,等待安装完成。

关于工具链的选择:

在安装 Rust 时选择 MSVC(Microsoft Visual C++)和 GNU 工具链(GNU Compiler Collection)之间的主要区别在于 Rust 编译器使用的底层 C 编译器。

  1. MSVC(Microsoft Visual C++):
    • MSVC 是 Microsoft 提供的编译工具链,特别用于 Windows 平台。
    • Rust 编译器会使用 MSVC 工具链来生成 Windows 平台上的可执行文件。
    • MSVC 通常与 Microsoft Visual Studio 集成,因此如果你选择 MSVC,你可能会得到更好的集成开发环境(IDE)支持,例如调试器和其他开发工具。
  1. GNU 工具链(GNU Compiler Collection):
    • GNU 工具链是一个跨平台的开源工具链,支持多种操作系统,包括 Linux 和 macOS。
    • 如果你选择 GNU 工具链,Rust 编译器将使用 GCC(GNU Compiler Collection)来生成可执行文件。
    • 这使得 Rust 也能够在非 Windows 平台上进行编译和运行。

在选择时,通常取决于你的开发环境和目标平台。如果你主要在 Windows 上进行开发并且希望与 Microsoft Visual Studio 集成,那么选择 MSVC 可能是一个不错的选择。如果你的目标是在多个平台上运行,可能更倾向于选择 GNU 工具链。

image.png

安装完成。

接下来检验安装情况:在命令行解释器中输入 echo $Env:PATH,当看到 .cargo\bin 存在,即表示 rust 环境变量写入成功。

image.png


运行一个 HelloWorld

打开VsCode,在扩展中找到 rust 扩展包,点击安装:

image.png

(1)手动新建项目:

这里选择在 D 盘新建 RustCode 文件夹来保存 rust 项目。

在 RustCode 目录中新建 hello_world 文件夹,代表创建 hello_world 项目。

image.png

使用VsCode打开项目,在 hello_world 文件夹里新建main.rs,并输入以下代码:

fn main(){println!("Hello, world!");
}

image.png

保存后,在终端里输入 rustc main.rs 对代码进行编译,可以看到生成了 main.exe 文件。

终端输入 ./main 执行该文件,可看到运行结果。

image.png

(2)cargo 新建项目

cargo 是Rust的构建系统和包管理工具,能够构建项目代码、下载依赖库、构建库,在安装Rust时会自动安装 cargo

  • 输入 cargo -V,检验 cargo 安装情况,查看 cargo 版本。
  • 输入 cargo new hello_world,新建项目,项目名为 hello_world。
  • 输入 ls,查看 hello_world 项目文件夹创建完毕。

image.png

用VsCode打开文件夹,可看到 hello_world 项目中 src/ 已创建了 main.rs文件

代码输出“Hello, world!”

image.png

在终端对代码进行编译:

  • 终端切换至项目文件夹
  • 输入 cargo build 进行编译,编译完成rust会自行创建target文件夹,里面保存的是编译后的结果
  • 输入 cargo run 运行项目,可在终端查看运行结果。

image.png

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

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

相关文章

系统和应用的分布式实时性能和健康监控,对系统中实时发生的所有事情的全面检测,开箱即用、零配置、零依赖,高度互动的 Web 仪表板中查看结果

系统和应用的分布式实时性能和健康监控,对系统中实时发生的所有事情的全面检测,开箱即用、零配置、零依赖,高度互动的 Web 仪表板中查看结果。 NetData 是一个用于系统和应用的分布式实时性能和健康监控工具。它提供了对系统中实时发生的所有事情的全面检测。你可以在高度互…

AWS SSM中切换AWS不同的profile

问题 在自己的开发笔记本上面,通过AWS SSM方式访问EC2服务,只需要通过简单的命令就可以访问EC2了,如下: aws ssm start-session --target i-xxxx12350这个命令就是利用aws命令行工具中ssm提供的会话管理能力访问ec2服务&#xf…

剑指 Offer(第2版)面试题 58:翻转字符串

剑指 Offer(第2版)面试题 58:翻转字符串 剑指 Offer(第2版)面试题 58:翻转字符串题目一:翻转单词顺序思路 1:stringstream思路 2:双指针 题目二:左旋转字符串…

YOLOv5改进 | 2023主干篇 | 华为最新VanillaNet主干替换Backbone实现大幅度长点

一、本文介绍 本文给大家来的改进机制是华为最新VanillaNet网络,其是今年最新推出的主干网络,VanillaNet是一种注重极简主义和效率的神经网络架构。它的设计简单,层数较少,避免了像深度架构和自注意力这样的复杂操作(需要注意的是…

【每日试题】java面试之springboot框架

Spring Boot是基于Spring框架的一种快速开发脚手架。它简化了Spring应用的初始搭建和配置过程,使开发人员能够更加专注于业务逻辑的实现。 Spring Boot的特点有以下几点: 简化配置:Spring Boot的核心设计理念是约定大于配置。它通过自动配置…

HTML使用JavaScript的三种方式

要使用 JavaScript&#xff0c;你可以在 HTML 文件中的 <script> 标签中编写代码&#xff0c;或者将代码保存到一个单独的 .js 文件中并在 HTML 文件中引入。以下是一些常用的 JavaScript 使用方式&#xff1a; 内联 JavaScript&#xff1a;在 HTML 文件的 <script&g…

Erlang、RabbitMQ下载与安装教程(windows超详细)

目录 安装Erlang 1.首先安装RabbitMQ需要安装Erlang环境 2.点击下载好的.exe文件进行傻瓜式安装,一直next即可 3.配置Erlang环境变量 安装RabbitMQ 1.给出RabbitMQ官网下载址&#xff1a;Installing on Windows — RabbitMQ&#xff0c;找到 2.配置RabbitMQ环境变量&#xff0…

SparkStreaming与Kafka整合

1.3 SparkStreaming与Kafka整合 1.3.1 整合简述 kafka是做消息的缓存&#xff0c;数据和业务隔离操作的消息队列&#xff0c;而sparkstreaming是一款准实时流式计算框架&#xff0c;所以二者的整合&#xff0c;是大势所趋。 ​ 二者的整合&#xff0c;有主要的两大版本。 kaf…

JVM 常用知识和面试题

1. 什么是JVM内存结构&#xff1f; jvm将虚拟机分为5大区域&#xff0c;程序计数器、虚拟机栈、本地方法栈、java堆、方法区&#xff1b; 程序计数器&#xff1a;线程私有的&#xff0c;是一块很小的内存空间&#xff0c;作为当前线程的行号指示器&#xff0c;用于记录当前虚拟…

前端子项目共用node_modules

项目目录结构如下 首先按上面的结构新建三个项目&#xff0c;有一定前端经验的都知道怎么处理&#xff0c;我就不多介绍了。 1&#xff0c;子项目1 package.json如下&#xff0c;我只安装了vue index.js如下 2&#xff0c;子项目2 package.json如下&#xff0c;我安装了…

如何准备 Azure 信息保护云退出计划

Azure 信息保护&#xff08;AIP&#xff09;是一项服务&#xff0c;它可以帮助您发现、分类、标记和保护敏感的文档和电子邮件。如果您想停止使用 AIP&#xff0c;您需要做好一些准备工作&#xff0c;以便在需要时能够顺利地从云服务退出。本文将介绍如何准备 AIP 云退出计划的…

uniapp 底部导航栏 tabBar

在 static 文件夹中新建文件夹 tabBar&#xff0c;放入标签图片 源素材如下&#xff1a; 在 pages.json 中添加 // 底部导航"tabBar": {// tab默认文字颜色"color": "#bfbfbf",// tab选中后的文字颜色"selectedColor": "#153c65&…

华为鸿蒙应用--登录页:网络请求、自定义Loading、MD5密码加密、emitter订阅状态变化、持久化登录状态、隐藏软键盘-ArkTs

HarmonyOS系列 华为鸿蒙应用--底部导航栏Tabs&#xff08;自适应手机和平板&#xff09;-ArkTs_华为鸿蒙应用 csdn 底部导航栏-CSDN博客 华为鸿蒙应用--欢迎页SplashPage倒计时跳过&#xff08;自适应手机和平板&#xff09;-ArkTs_app.media.ic_splash_page_background-CSDN…

语言模型:从n-gram到神经网络的演进

目录 1 前言2 语言模型的两个任务2.1 自然语言理解2.2 自然语言生成 3 n-gram模型4 神经网络语言模型5 结语 1 前言 语言模型是自然语言处理领域中的关键技术之一&#xff0c;它致力于理解和生成人类语言。从最初的n-gram模型到如今基于神经网络的深度学习模型&#xff0c;语言…

Apache OFBiz RCE漏洞复现(CVE-2023-51467)

0x01 产品简介 Apache OFBiz是一个电子商务平台,用于构建大中型企业级、跨平台、跨数据库、跨应用服务器的多层、分布式电子商务类应用系统。 0x02 漏洞概述 漏洞成因 该系统的身份验证机制存在缺陷,可能允许未授权用户通过绕过标准登录流程来获取后台访问权限。此外,在…

Spring 对请求参数的优雅处方式(重写序列化方法)

Spring 对请求参数的优雅处方式&#xff08;重写序列化方法&#xff09; 描述前端传参方式介绍代码实现&#xff1a;1、重写序列化方式代码2、设置类自动加载到 Spring 中 描述 在我们日常项目开发过程中&#xff0c;往往会遇到前端请求参数中有空格的情况&#xff0c;前端提交…

Zabbix“专家坐诊”第221期问答汇总

问题一 Q&#xff1a;使用官方docker模板Template App Docker&#xff0c;监控docker镜像&#xff0c;有一项监控项docker.data_usage有报错&#xff0c;不知道哪里问题&#xff1a;Cannot fetch data: Get “http://1.28/system/df”: context deadline exceeded (Client.Time…

【MATLAB】交叉验证求光滑因子的广义神经网络时序预测算法

有意向获取代码&#xff0c;请转文末观看代码获取方式~也可转原文链接获取~ 1 基本定义 交叉验证求光滑因子的广义神经网络时序预测算法的基本原理如下&#xff1a; 首先&#xff0c;我们需要了解什么是交叉验证和光滑因子。交叉验证是一种评估模型性能的常用方法&#xff0c…

C++ 657. 机器人能否返回原点 简单模拟

在二维平面上&#xff0c;有一个机器人从原点 (0, 0) 开始。给出它的移动顺序&#xff0c;判断这个机器人在完成移动后是否在 (0, 0) 处结束。 移动顺序由字符串 moves 表示。字符 move[i] 表示其第 i 次移动。机器人的有效动作有 R&#xff08;右&#xff09;&#xff0c;L&a…

RK3568平台开发系列讲解(Linux系统篇)PWM系统编程

🚀返回专栏总目录 文章目录 一、什么是PWM二、PWM相关节点三、PWM应用编程沉淀、分享、成长,让自己和他人都能有所收获!😄 📢本篇将介绍 PWM 的系统编程。 一、什么是PWM PWM,即脉冲宽度调制(Pulse Width Modulation)