当前位置: 首页 > news >正文

镭拓网站建设线上营销方式

镭拓网站建设,线上营销方式,站长之家是干嘛的,wordpress插件20181.摘要 Rust是由Mozilla主导开发的通用、编译型编程语言。设计准则为:安全、并发、实用,支持函数式、并发式、过程式以及面向对象的编程风格。Rust的设计目标之一,是要使设计大型的互联网客户端和服务器的任务变得更容易,因此更加强调安全性、存储器配置以及并发处理等方面的特…

1.摘要

Rust是由Mozilla主导开发的通用、编译型编程语言。设计准则为:安全、并发、实用,支持函数式、并发式、过程式以及面向对象的编程风格。Rust的设计目标之一,是要使设计大型的互联网客户端和服务器的任务变得更容易,因此更加强调安全性、存储器配置以及并发处理等方面的特性。

在性能上,具有额外安全保证的Rust代码会比C++慢一些,例如:Rust对数组进行操作时会进行边界检查,而C++则不会。但如果等价的C++代码作手工检查,则两者性能是相似的。

2.Rust核心里程碑

Rust在很多重要场合越来越被重视并使用,例如:

(1).Linux 6.1版本内核允许直接在内核中编写Rust代码,并可以调用内核的其它函数,主要实现方式是:1.在内核代码中可以直接嵌入Rust代码,Rust代码会被编译成内核可以理解的形式。2.Linux内核提供了一个叫"Rust for Linux"的接口,可以从Rust程序调用内核C函数。

这样就允许开发者使用Rust编写驱动程序、文件系统、网络协议栈等内核代码,同时还可以与内核其他部分进行交互。

Rust for Linux开源地址为:https://github.com/Rust-for-Linux/linux

相比C语言,Rust提供了更好的内存安全保证,不会出现缓冲区溢出、野指针等问题。这可以大大提高内核代码的稳定性和安全性。

Linux社区期望通过支持Rust, 可以吸引更多开发者为内核作贡献,并以更安全的方式提升内核功能。

(2).windows-drivers-rs是微软开源的一个用于编写Windows内核驱动的Rust库, 这标志着微软开始拥抱Rust语言,在Windows内核和底层开发中使用Rust,这将大大提升Windows内核组件的安全性和稳定性。Rust有助于降低驱动开发的门槛,吸引更多开发者为Windows编写驱动,Rust的内存安全特性也使驱动质量更高。

windows-drivers-rs开源地址:https://github.com/microsoft/windows-drivers-rs

3.Rust独特设计理念

3.1 内存安全

为了提供内存安全, Rust的设计不允许空指针和悬空指针,指针只能透过固定的初始化形态来构建,而所有这些形态都要求它们的输入已经分析过了。Rust有一个检查指针生命周期和指针冻结的系统,可以用来预防在C++中许多的类型错误,甚至是用了智能指针功能之后会发生的类型错误。

3.2所有权

Rust设计了一个所有权系统,其中所有值都有一个唯一的所有者,并且值的作用域与所有者的作用域相同。值可以通过不可变引用、可变引用或通过值本身传递。任何时候,一个变量都可以有多个不可变引用或一个可变引用,这实际上是一个显示的读写锁。Rust编译器在编译时强制执行这些规则,并检查所有引用是否有效。

3.3 内存管理

早期的Rust虽然有垃圾回收系统,但非如Java或.NET平台的全自动垃圾回收。Rust 1.0已不再使用垃圾回收器,而是全面改用基于引用计数的智能指针来管理内存。

3.4类型与多态

Rust的类型系统直接地模仿了Haskell语言的类型类概念,并把它称作“traits”,可以把它看成是一种特设多态。Rust的作法是透过在宣告类型变量(type variable)的时候,在上面加上限制条件。至于Haskell的高阶类型变量(Higher-kinded polymorphism)则还未支持。

类型推导也是Rust提供的特性之一,使用let语法宣告的变量可以不用宣告类型,亦不需要初始值来推断类型。但如果在稍后的程序中从未指派任何值到该变量,编译器会发出编译时(compile time)错误。函数可以使用泛型化参数(generics),但是必须绑定Trait。不能使用方法或运算符而不声明它们的类型,每一项都必确明确定义。

Rust的物件系统是基于三样东西之上的,即实现(implementation)、Trait以及结构化资料(如struct)。实现的角色类似提供Class关键字的编程语言所代表的意义,并使用impl关键字。继承和多态则通过Trait实现,它们使得方法(method)可以在实现中被定义。结构化资料用来定义字段。实现和(trait)都无法定义字段,并且只有(trait)可以提供继承,藉以躲避C++的“钻石继承问题”(菱型缺陷)。

4.Rust生态系统

除了编译器和标准库,Rust生态系统还包括用于软件开发的额外组件。官方推荐使用Rustup,一个Rust工具链安装程序来管理这些组件。

Cargo是Rust的软件包管理器,用来下载和构建依赖关系。Cargo还充当了Clippy和其他Rust组件的封装器。它要求项目遵循一定的目录结构。

Cargo.toml文件指定了项目所需的依赖和版本要求,告诉Cargo哪些版本的依赖关系与该包兼容。Cargo默认从crates.io中获取依赖,但Git仓库和本地文件系统中的包也可以作为依赖。

5.Rust发展历史

2006年,Rust作为Graydon Hoare的个人项目首次出现。

2009年,Graydon Hoare成为Mozilla雇员。

2010年,Rust首次作为Mozilla官方项目出现。同年,Rust开始从初始编译转变为自编译。

2011年,Rust成功的完成了移植。Rust的自编译器采用LLVM作为其编译后端。

2012年1月20日,第一个有版本号的预览版Rust编译器发布。

2013年4月4日,Mozilla基金会宣布将与三星集团合作开发浏览器排版引擎Servo,此引擎将由Rust来实现。

2015年5月16日,Rust 1.0.0发布。

2020年3月27日,Rust核心团队成员Steve Klabnik在官方博客发表了一篇名为《Goodbye, docs team 》的文章,叙述了Rust文档的现状。

2021年2月8日,AWS、华为、Google、微软以及Mozilla宣布成立Rust基金会,并承诺在两年时间里每年投入不少于 100 万美元的预算,以用于 Rust 项目的开发、维护和推广。

2022年9月19日,Linux初始开发者林纳斯·托瓦兹表示在Linux核心6.1版中会有对Rust的初步支持。

2023年4月6日,Rust基金会发布了新商标政策草案,修订了关于如何使用Rust标志和名称的规则,导致了Rust用户社区的负面反应和抗议。

6.Rust环境搭建

6.1 Rust安装包

如果使用的开发系统是MacOS、Linux或其它类Unix系统,可以直接打开命令终端输入以下命令安装:

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

如果开发环境是Windows,可以直接从以下地址下载exe程序安装:

https://static.rust-lang.org/rustup/dist/x86_64-pc-windows-msvc/rustup-init.exe

安装完成后,分别输入以下命令查看编译器和构建工具是否正常运行:

rustc --version  // 查看Rust编译器版本
cargo --version  // 查看Rust包管理器和构建工具版本

6.2 Rust集成开发环境

Rust集成开发环境我个人推荐JetBrains的RustRover, 专业且功能强大, 目前处在预览使用阶段, 可以免费使用,如图:

也可以使用Microsoft Visual Studio Community 2022,在上面安装一个Rust插件效果也差不多, 如图:

7.Rust编程体验

以下是一个简单的Rust并发计算的例子:

use std::thread;// 这个函数将创建十个并发
fn main() {let greeting = "Hello";let mut threads = Vec::new();for num in 0..10 {threads.push(thread::spawn(move || {println!("{} from thread number {}", greeting, num);}));}for thread in threads {thread.join().unwrap();}
}

在后面的章节中, 我将与大家一起学习Rust语言的基础知识。

http://www.yidumall.com/news/19185.html

相关文章:

  • wordpress封装seo计费怎么刷关键词的
  • 找不同 网站开发黑河seo
  • o2o免费网站建设互联网站
  • 网站制作上哪学校线上销售渠道有哪些
  • html5网站开发趋势今日热点新闻头条
  • 网站开发流程怎么写360优化大师软件
  • 长沙手机网站设计百度渠道开户哪里找
  • 网站备案报道百度地图排名怎么优化
  • 做视频网站服务器要求吗高端网站建设公司哪家好
  • 怎么做企业网站平台免费外链网站seo发布
  • 佛山做外贸网站的长沙网动网络科技有限公司
  • 自己创建网站教程google中文搜索引擎
  • tv做后缀的动漫网站国内快速建站
  • 哪个网站最好徐州百度seo排名
  • 怎么做百度提交入口网站网盘资源
  • 为什么很少用python做网站做网络推广怎么找客户
  • 律师做网络推广最好的网站有哪些适合推广的app有哪些
  • wordpress站内跳转快速排名优化推广价格
  • app网站开发价格线上营销模式有哪些
  • jsp网站开发中英文页面切换品牌推广案例
  • 爱站网在线全集私人影视活动推广方案怎么写
  • 小程序怎么做网站站内营销推广方案
  • 荆州哪里有做网站的优化网站收费标准
  • 淮南网吧seo外链论坛
  • 个人备案 网站简介怎么写关键词seo排名怎么样
  • java 网站开发百度seo工具
  • 德州网站建设公司网络推广的方法你知道几个?
  • 教育网站开发背景梧州网站seo
  • 协会网站设计方案上海网站优化公司
  • wordpress支持移动端seo排名点击软件推荐