尹成c语言开发环境工具,清华学神尹成带你实战Rust编程(1)

article/2025/9/18 3:55:19

原标题:清华学神尹成带你实战Rust编程(1)

b01acb7bd3076951bf1ff32acf4dbbe5.png

f1559ef9c4724d2d188d7809993a11dd.png

Rust 语言是一种高效、可靠的通用高级语言。其高效不仅限于开发效率,它的执行效率也是令人称赞的,是一种少有的兼顾开发效率和执行效率的语言。

Rust 语言由 Mozilla 开发,最早发布于 2014 年 9 月。Rust 的编译器是在 MIT License 和 Apache License 2.0 双重协议声明下的免费开源软件。截至目前( 2020 年 1 月)最新的编译器版本是 1.41.0。

Rust 官方在线工具: https://play.rust-lang.org/。

Rust 系列文章内容由 Sobin 收集整理。Rust语言的特点

高性能 - Rust 速度惊人且内存利用率极高。由于没有运行时和垃圾回收,它能够胜任对性能要求特别高的服务,可以在嵌入式设备上运行,还能轻松和其他语言集成。

可靠性 - Rust 丰富的类型系统和所有权模型保证了内存安全和线程安全,让您在编译期就能够消除各种各样的错误。

生产力 - Rust 拥有出色的文档、友好的编译器和清晰的错误提示信息, 还集成了一流的工具 —— 包管理器和构建工具, 智能地自动补全和类型检验的多编辑器支持, 以及自动格式化代码等等。Rust的应用

Rust 语言可以用于开发:

传统命令行程序 - Rust 编译器可以直接生成目标可执行程序,不需要任何解释程序。

Web 应用 - Rust 可以被编译成 WebAssembly,WebAssembly 是一种 JavaScript 的高效替代品。

网络服务器 - Rust 用极低的资源消耗做到安全高效,且具备很强的大规模并发处理能力,十分适合开发普通或极端的服务器程序。

嵌入式设备 - Rust 同时具有JavaScript 一般的高效开发语法和 C 语言的执行效率,支持底层平台的开发。谁适合阅读本教程?

本教程对于初级的编程知识将默认读者已经掌握,所以如果你阅读本教程,你需要对初级的编程知识有一定的了解(最好已经初识 C/C++ 或 JavaScript 编程语言)。第一个 Rust 程序

Rust 语言代码文件后缀名为 .rs, 如 runoob.rs。实例

fn main() { println!("Hello World!");} 参考链接

Rust 官方网站:https://www.rust-lang.org/zh-CN

Rust 官方文档:https://doc.rust-lang.org/

Rust Play:https://play.rust-lang.org/

Visual Studio Code:https://code.visualstudio.com/

Rust 环境搭建

Rust 支持很多的集成开发环境(IDE)或开发专用的文本编辑器。

官方网站公布支持的工具如下(https://www.rust-lang.org/zh-CN/tools):

2d8dedad31416e1f175df50be31756c4.png

本教程将使用 Visual Studio Code 作为我们的开发环境(Eclipse 有专用于 Rust 开发的版本,对于初学者也是不错的选择)。

注意:IntelliJ IDEA 安装插件之后难以调试,所以推荐习惯使用 IDEA 的开发者使用 CLion,但 CLion 不是免费的。搭建 Visual Studio Code 开发环境

首先,需要安装最新版的 Rust 编译工具和 Visual Studio Code。

Rust 编译工具:https://www.rust-lang.org/zh-CN/tools/install

Visual Studio Code:https://code.visualstudio.com/Download

Rust 的编译工具依赖 C 语言的编译工具,这意味着你的电脑上至少已经存在一个 C 语言的编译环境。如果你使用的是 Linux 系统,往往已经具备了 GCC 或 clang。如果你使用的是 macOS,需要安装 Xcode。如果你是用的是 Windows 操作系统,你需要安装 Visual Studio 2013 或以上的环境(需要 C/C++ 支持)以使用 MSVC 或安装 MinGW + GCC 编译环境(Cygwin 还没有测试)。安装 Rust 编译工具

Rust 编译工具推荐使用刚才从上方链接中下载的 Rustup 安装。下载好的 Rustup 在 Windows 上是一个可执行程序 rustup-init.exe。(在其他平台上应该是 rustup-init.sh )。

现在执行 rustup-init 文件:

288a8cdc3388a7721a5638be7e3c0d25.png

上图显示的是一个命令行安装向导。

如果你已经安装 MSVC (推荐),那么安装过程会非常的简单,输入 1 并回车,直接进入第二步。

如果你安装的是 MinGW,那么你需要输入 2 (自定义安装),然后系统会询问你 Default host triple? ,请将上图中 default host triple 的 "msvc" 改为 "gnu" 再输入安装程序:

14b80d9d57d897bcb97dbcd4805638f9.png

其它属性都默认。

设置完所有选项,会回到安装向导界面(第一张图),这是我们输入 1 并回车即可。

4f400c7b76a79296c0e028c1d42ba083.png

进行到这一步就完成了 Rust 的安装,可以通过以下命令测试:rustc -V # 注意的大写的 V

84226aa87542f903909a98d822e71121.png

如果以上两个命令能够输出你安装的版本号,就是安装成功了。搭建 Visual Studio Code 开发环境

下载完 Visual Studio Code 安装包之后启动安装向导安装(此步骤不在此赘述)。

安装完 Visual Studio Code (下文简称 VSCode)之后运行 VSCode。

2f5526f5feeab9927059271d1b3284b4.png

在左边栏里找到 "Extensions",并查找 "Chinese",安装简体中文扩展,使界面变成中文。(如果你愿意用英文界面或计算机不支持中文字符,此步骤可以跳过)。

f5640d41eb67b06bb930e66d839a99f8.png

用同样的方法再安装 rls 和 Native Debug 两个扩展。

9193cd80caa2c6fdf0ae53f421467841.png

54a32dd709a424415f782663a943b550.png

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

现在新建一个文件夹,如 runoob-greeting。

54972c8489c20b3bfb1f177fbebe936b.png

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

b76a4ad842eb4d75df5e2540ec5cbde7.png

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

7986e1b9dd004a3ae4fe4e153ac8b147.png

在终端中输入命令:cargo new greeting

当前文件下下会构建一个名叫 greeting 的 Rust 工程目录。

dc4890ac4eb88c15a42d343a803f7fea.png

现在在终端里输入以下三个命令:cd ./greeting cargo build cargo run

系统在创建工程时会生成一个 Hello, world 源程序 main.rs,这时会被编译并运行:

c5aa35dd67da1c907516bacfde262fb5.png

至此,你成功的构建了一个 Rust 命令行程序!返回搜狐,查看更多

责任编辑:


http://chatgpt.dhexx.cn/article/CIab8qjq.shtml

相关文章

清华大学尹成 怎么样

清华大学尹成 怎么样 编程能力极强,算法能力极强,业界的最强算法王者 清华学神尹成的数据结构与算法,全程golang代码实战 ------------------------------------------------------------- 1 时间效率分析 ---------------------------------------…

清华尹成人工智能tensorflow(2)-尹成-专题视频课程

清华尹成人工智能tensorflow(2)—527人已学习 课程介绍 清华尹成人工智能tensorflow(2)资料联系客服:475318423 课程收益 清华尹成人工智能tensorflow(2) 讲师介绍 尹成 更多讲师课程 尹成…

伯努利分布、二项分布

一、伯努利分布(又称为0-1分布、两点分布) 伯努利试验说的是下面一种事件情况:在生活中,有一些事件的发生只有两种可能,发生或者不发生(或者叫成功或者失败),这些事件都可以被称为伯…

matplotlib绘制伯努利分布的概率密度图

根据伯努利分布的定义,我们可以得到以下公式: f ( x ) p x ( 1 − p ) 1 − x for x ∈ { 0 , 1 } f(x)p^{x}(1-p)^{1-x} \quad \text { for } x \in\{0,1\} f(x)px(1−p)1−x for x∈{0,1}当我们进行观测,得到了事件 x x x发生频率的观测值…

伯努利分布,二项分布,多项分布

师兄给我说,做机器学习的方法有两种:一种是修改公式的那种,另外一种是类比。我觉得我适合的应该就是类比的这种,公式太难了。。 伯努利分布 记住这种分布的话,就开始想抛硬币,只抛一次硬币。正面朝上的概…

伯努利分布,二项分布和泊松分布以及最大似然之间的关系(未完成)

首先说伯努利试验 伯努利分布 伯努利试验说的是下面一种事件情况:在生活中,有一些事件的发生只有两种可能,发生或者不发生(或者叫成功或者失败),这些事件都可以被称为伯努利试验。 伯努利试验的概率分布称…

多元伯努利分布 multivariate bernoulli distribution

今天看论文发现了一个名次,多元伯努利分布,百度好久也没查到明确的定义,去google了一下,发现其实就是 基本概统里的一次伯努利试验推广到多次试验后的结果分布,如下图: 引用来源: https://www…

MATLAB生成伯努利图分布,C++ - 随机生成器 伯努利分布(bernoulli distribution) 的 详解 及 代码...

随机生成器 伯努利分布(bernoulli distribution) 的 详解 及 代码 本文地址: http://blog.csdn.net/caroline_wendy/article/details/17335871 伯努利分布(bernoulli distribution), 是判断某件事情发生或者未发生的概率; 给定参数p, 可以修改概率的值, 发生概率(true)是p,未发…

基于python/scipy学习概率统计(2):伯努利分布(Bernoulli Distribution)

目录 1. 概念 2. 概率分布 2.1 概率质量函数 2.2 概率分布函数 2.3 生存函数,风险函数 2.4 百分点函数 3. 常用统计特征 3.1 均值,Mean 3.2 中位数,Median 3.3 众数,Mode 3.4 方差,Variance 3.5 偏度&#…

matlab伯努利分布,常用的概率分布:伯努利分布、二项式分布、多项式分布、先验概率,后验概率...

一,伯努利分布(bernouli distribution) 又叫做0-1分布,指一次随机试验,结果只有两种。也就是一个随机变量的取值只有0和1。记为: 0-1分布 或B(1,p),其中 p 表示一次伯努利实验中结果为正或为1的概率。 概率计算: P(X0)…

伯努利分布(一种离散分布)

伯努利分布(0-1分布) 笔记来源:Introduction to the Bernoulli Distribution 伯努利分布(1次试验)是二项分布(n次试验)的特例,其中进行了一次实验( n 1 n1 n1&#xff…

伯努利分布(Bernoulli distribution)

伯努利分布 是一种离散分布,有两种可能的结果。1表示成功&#xff0c;出现的概率为p(其中0<p<1)。0表示失败&#xff0c;出现的概率为q1-p。这种分布在人工智能里很有用&#xff0c;比如你问机器今天某飞机是否起飞了&#xff0c;它的回复就是Yes或No&#xff0c;非常明确…

伯努利分布、二项分布、多项分布、Beta分布、Dirichlet分布

https://blog.csdn.net/michael_r_chang/article/details/39188321 https://www.cnblogs.com/wybang/p/3206719.html https://blog.csdn.net/jteng/article/details/60334628 1. 伯努利分布 伯努利分布(Bernoulli distribution)又名两点分布或0-1分布&#xff0c;介绍伯努利分…

【愚公系列】2022年09月 微信小程序-自定义tabBar的实现

文章目录 前言一、自定义tabBar的实现1.全局配置2.主页面3.CustomTabBar组件4.效果 前言 小程序自带的tabBar可以参考这篇文章&#xff1a;https://codeboy.blog.csdn.net/article/details/123040278 因为小程序自带的tabBar&#xff0c;比较单一&#xff0c;无法满足多样化需…

[cryptoverse ctf 2022] cvctf

一直在等wp&#xff0c;一直没找着&#xff0c;没有wp就没有进步。 把已知部分写出来吧&#xff0c;抛砖引玉 这个比赛只有crypto,reverse和misc(除一个签到外&#xff0c;都推特油管和谷歌网盘的题作不了) 目录 crypto Warmup 3 Warmup 1 Warmup 2 Substitution RSA 1…

Python | NumPy | 3D 数据可视化 - 散点图

本文介绍如何使用NumPy相关的数据实现数据的3D散点图可视化。 Updated: 2022 / 03 / 06 Python | NumPy | 3D 数据可视化 - 散点图 数据导入及清洗导入清洗获取全部坐标筛选特定坐标 数据3D可视化散点图单图多子图 参考链接 数据导入及清洗 先导入坐标集数据&#xff0c;再进行…

使用 Learner Lab - 使用 API Gateway 与 Lambda 上传图片到 S3

使用 Learner Lab - 使用 API Gateway 与 Lambda 上传图片到 S3 AWS Academy Learner Lab 是提供一个帐号让学生可以自行使用 AWS 的服务&#xff0c;让学生可以在 100 USD的金额下&#xff0c;自行练习所要使用的 AWS 服务&#xff0c;如何进入 Learner Lab 请参考 使用 Lear…

12306查询车票(爬虫小练_1)

文章目录 导入模块导入City.json文件内容分析撸代码city.json文件 导入模块 # 数据请求模块 import requests # 序列化和反序列化 import json # 表格格式输出&#xff08;美化输出&#xff09; import prettytable as pt 导入City.json文件 里面存放的是城市的对应标识(放在文…

K8S+Jenkins+Harbor+Docker+gitlab集群部署

K8SJenkinsHarborDockergitlab服务器集群部署 所需资源下载地址 将此文章写给我最心爱的女孩 目录 K8SJenkinsHarborDockergitlab服务器集群部署1.准备以下服务器2.所有服务器统一处理执行2.1 关闭防火墙2.2 关闭selinux2.3 关闭swap&#xff08;k8s禁止虚拟内存以提高性能&a…

多项式运算

多项式求逆 已知 f ( x ) f(x) f(x)&#xff0c;求 g ( x ) g(x) g(x)满足 f ( x ) g ( x ) ≡ 1 ( m o d x n ) f(x)g(x)\equiv 1\pmod{x^n} f(x)g(x)≡1(modxn)。 若 f 0 0 f_00 f0​0&#xff0c;那么显然不可能存在形式幂级数 g ( x ) g(x) g(x)满足条件。于是假定 f 0 …