欢迎来到 AI 中文社区(简称 AI 中文社),这里是学习交流 AI 人工智能技术的中文社区。 为了更好的体验,本站推荐使用 Chrome 浏览器。
全部教程·
Rust语言·
Rust高级编程
[目录]
·
Rust 高级编程
Rust 高级编程
Rust 非安全程序设计
Rust 安全代码
安全与非安全代码对比 安全与非安全代码交互 非安全Rust能做什么 编写非安全代码数据布局
repr(Rust) 类型中的奇行种 可选的数据表达方式所有权
所有权 引用 别名 生命周期 生命周期的局限 省略生命周期 无界生命周期 高阶trait边界 子类型和变性 Drop检查 幽灵数据 分解借用类型转换
类型转换 强制类型转换 点操作符 显式类型转换 变形未初始化内存
未初始化内存 安全方式 Drop标志 非安全方式资源管理
基于所有权的资源管理 构造函数 析构函数 泄露展开
展开 异常安全性 污染并发
并发 竞争 Send和Sync 原子操作实现 Vec
实现 Vec 布局 内存分配 push和pop 回收资源 DeRef 插入和删除 IntoIter RawVec Drain 处理零尺寸类型 最终代码FFI
FFI
Rust 高级编程
Rust 非安全程序设计
Rust 安全代码
安全与非安全代码对比 安全与非安全代码交互 非安全Rust能做什么 编写非安全代码数据布局
repr(Rust) 类型中的奇行种 可选的数据表达方式所有权
所有权 引用 别名 生命周期 生命周期的局限 省略生命周期 无界生命周期 高阶trait边界 子类型和变性 Drop检查 幽灵数据 分解借用类型转换
类型转换 强制类型转换 点操作符 显式类型转换 变形未初始化内存
未初始化内存 安全方式 Drop标志 非安全方式资源管理
基于所有权的资源管理 构造函数 析构函数 泄露展开
展开 异常安全性 污染并发
并发 竞争 Send和Sync 原子操作实现 Vec
实现 Vec 布局 内存分配 push和pop 回收资源 DeRef 插入和删除 IntoIter RawVec Drain 处理零尺寸类型 最终代码FFI
FFIRust 高级编程
Rust 语言是一种高效、可靠的系统级编程语言。它被设计为保证内存和线程安全,并能防止段错误。同时,作为系统级的编程语言,它的基本理念是 “零开销抽象”,运行速度与 C/C++ 同级。
Rust 语言由 Mozilla 开发,最早发布于 2014 年 9 月。Rust 的编译器是在 MIT License 和 Apache License 2.0 双重协议声明下的免费开源软件。
Rust 官方网站:https://www.rust-lang.org/zh-CN
1. Rust 语言的目标
Rust 语言的目标是创建一个高度安全和并发的软件系统,它强调安全性、并发和内存控制。Rust 虽然借用了 C 和 C++ 的语法,但不允许空指针和悬挂指针, 因为这两者是 C/C++ 中系统崩溃、内存泄露和不安全代码的根源。
Rust 的运行速度与 C/C++ 同级。Rust 语言的开发效率也同样很高,是一种少有的兼顾开发效率和执行效率的语言。
2. Rust 语言的特点
- 高性能 - Rust 速度惊人且内存利用率极高。由于没有运行时和垃圾回收,它能够胜任对性能要求特别高的服务,可以在嵌入式设备上运行,还能轻松和其他语言集成。
- 可靠性 - Rust 丰富的类型系统和所有权模型保证了内存安全和线程安全,在编译期就能够消除各种各样的错误。
- 生产力 - Rust 拥有出色的文档、友好的编译器和清晰的错误提示信息,还集成了一流的工具 —— 包管理器和构建工具, 智能地自动补全和类型检验的多编辑器支持,以及自动格式化代码等等。
3. Rust 语言的适应领域
Rust 语言可以用于开发:
- 传统命令行程序 - Rust 编译器可以直接生成目标可执行程序,不需要任何解释程序。
- Web 应用 - Rust 可以被编译成 WebAssembly,WebAssembly 是一种 JavaScript 的高效替代品。
- 网络服务器 - Rust 用极低的资源消耗做到安全高效,且具备很强的大规模并发处理能力,十分适合开发普通或极端的服务器程序。
- 嵌入式设备 - Rust 同时具有JavaScript 一般的高效开发语法和 C 语言的执行效率,支持底层平台的开发。
4. Rust 语言的实例
Rust 语言代码文件的后缀名为 .rs, 如 hello_world.rs。
fn main() {
println!("Hello World!");
}
5. Rust 语言的资源
- Rust 官方文档:https://doc.rust-lang.org/
- Rust 在线工具:https://play.rust-lang.org/
- Rust Github 地址:https://github.com/rust-lang/rust
下一章:Rust 非安全程序设计
本书将深入挖掘和剖析 Rust 非安全(unsafe)编程中的一些必要面对和解决的细节问题。如果你仍然期待着拥有一个长期且快乐的 Rust 编程生涯,那么现在就转身离开,彻底忘掉你曾经见到过这本书——你并不会感到生 ...
AI 中文社