Rust-01 Hello Rust 10分钟上手编写第一个Rust程序 背景介绍 发展历史 环境配置 升级打怪的必经之路

请添加图片描述

背景介绍

Rust 是一种多范式、通用的编程语言,强调性能、类型安全和并发性。它通过一个称为“借用检查器”的机制在编译时追踪所有引用的对象生命周期,以强制实现内存安全,即确保所有引用都指向有效的内存,而不需要垃圾收集器。

发展历史

Rust 最初由 Mozilla 研究员 Graydon Hoare 于 2006 年作为个人项目开始开发。Mozilla 从 2009 年开始赞助这个项目,并在 2010 年正式宣布。Rust 的第一个稳定版本 1.0 在 2015 年发布,标志着它已经准备好用于生产环境。自那以后,Rust 被包括 Amazon、Discord、Dropbox、Google(Alphabet)、Meta 和 Microsoft 在内的多家公司采用

语言优势

Rust 被设计为系统级编程语言,具有以下几个关键特性:

  • 内存安全:Rust 强制执行内存安全,无需垃圾收集器,通过所有权和生命周期的概念来管理内存
  • 并发安全:Rust 的设计旨在安全地处理并发操作,避免数据竞争
  • 性能:Rust 提供与 C 相当的性能,支持细粒度的内存控制
  • 跨平台:Rust 支持多种平台,包括 Windows、MacOS、Linux 等
  • 工具链:Rust 拥有强大的工具链,包括 Cargo(包管理器和构建工具)、Rustfmt(代码格式化工具)和 Clippy(代码分析工具)

配置环境

目前我是在Mac上,如果你是别的操作系统,请访问:Rust 官方文档

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

创建文件

# 创建文件夹
mkdir test_rust && cd test_rust
# 创建文件
vim test01.rs

编写代码

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

编译代码

rustc test01.rs

在这里插入图片描述

运行代码

./test01

在这里插入图片描述

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

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

相关文章

小程序中使用HTTPS调用自带文本安全内容检测接口(msg_sec_check)的实现方法

在小程序中调用自带的文本安全内容检测接口,你需要使用小程序提供的wx.request方法。以下是一个示例代码: javascript代码: // 假设你已经获取了access_token,如果不知道如何获取,可以参考我上一篇文章 const access_token 你的access_tok…

JS 删除数组元素( 5种方法 )

No.内容链接1Openlayers 【入门教程】 - 【源代码示例300】 2Leaflet 【入门教程】 - 【源代码图文示例 150】 3Cesium 【入门教程】 - 【源代码图文示例200】 4MapboxGL【入门教程】 - 【源代码图文示例150】 5前端就业宝典 【面试题详细答案 1000】 文章目录 一、五种…

QT中文乱码常见解决办法

QT中出现中文字符串乱码情况时(如图示), 可尝试下面的几种方法: 1、QString str QStringLiteral("1你好世界 hello world")); //推荐2、QString str QObject::tr("2你好世界 hello world")); //推荐国际化场景使用3、QString str QString::fromU…

Linux内核驱动开发-001字符设备开发-003独立按键杂项驱动

1驱动程序 /*************************************************************************> File Name: key_misc.c> Author: yas> Mail: rage_yashotmail.com> Created Time: 2024年04月22日 星期一 17时20分42秒**********************************************…

DBA-现在应该刚刚入门吧

说来话长 在2023年以前,我的DBA生涯都是“孤独的”。成长路径除了毕业前的实习期有人带,后续几乎都是靠自学。如何自学,看视频、看文档、网上查阅资料、项目实战。 可能是学疏才浅 ,一直都是在中小公司混,在中小公司通…

30V-STM32设计项目

30V-STM32设计 一、项目描述 (已验证) 基于STM32c8t6芯片设计的开发板,支持4-30V宽电压输入,串口模式自动下载功能,支持串口和STlink,方式下载程序 二、原理图介绍 电源电路采用了DCDCLDO电路,如果是外接DC头供电的话&…

GELU激活函数

Gaussian Error Linerar Units(GELUS) 论文链接:https://arxiv.org/abs/1606.08415 在激活函数领域,鄙视链应该是:Elus > Relu > Sigmoid ,这些激活函数都有自身的缺陷, sigmoid容易饱和,Elus与Rel…

【Transformer】detr之encoder逐行梳理(二)

every blog every motto: You can do more than you think. https://blog.csdn.net/weixin_39190382?typeblog 0. 前言 detr之encoder逐行梳理 1. 整体 encoder由encoder layer构成 输入进encoder的特征shape:(hw,b,c),后文将给出说明 class Transformer(nn.…

java-springmvc 01

MVC就是和Tomcat有关。 01.MVC启动的第一步,启动Tomcat 02.Tomcat会解析web-inf的web.xml文件

《架构风清扬-Java面试系列第23讲》如何理解Java的泛型檫除?

晚上好,给大家加个餐 来,思考片刻,说出你的答案 1,什么是泛型檫除? 泛型擦除是指编译器在处理泛型代码时,会在编译阶段移除(擦除)所有与泛型相关的类型参数信息,将其替换…

Java 网络编程之TCP(三):基于NIO实现服务端,BIO实现客户端

前面的文章,我们讲述了BIO的概念,以及编程模型,由于BIO中服务器端的一些阻塞的点,导致服务端对于每一个客户端连接,都要开辟一个线程来处理,导致资源浪费,效率低。 为此,Linux 内核…

VulBG: 构建行为图加强基于深度学习的漏洞检测模型

近年来,人们提出了基于深度学习(DL)的漏洞检测系统,用于从源代码中自动提取特征。这些方法在合成数据集上可以实现理想的性能,但在检测真实世界的漏洞数据集时,准确率却大幅下降。此外,这些方法…