《深入Rust标准库》阅读第一章笔记

购买链接:https://3.cn/1ZIF-JAp
在这里插入图片描述
推荐大家购买原版书籍观看

第一章主要介绍Rust标准库的体系,让我们从整体上对Rust标准库有一个全面的了解。

Rus标准库的构成组件被开发者精细设计,这是由Rust的设计目标和现代编程语言的特征决定的。在这些组件中,CORE库是基础,ALLOC库及 STD库都是基于CORE库的。
Rust完美地实现了对各种CPU架构及OS平台的兼容。

  • Rust标准库文档:https://doc.rust-lang.org/std/index.html
  • The Rust Programming Language: https://editor.csdn.net/md?not_checkout=1&spm=1011.2124.3001.6192&articleId=139129457
  • Rust Atomics and Locks:https://marabos.nl/atomics/

// CORE库是基础,ALLOC库及 STD库都是基于CORE库
/// rust标准库分为3个部分:
/// 1. CORE:语言核心库,可用于OS内核编程与用户态编程,是与硬件CPU架构无关的可移植性库
///     1.1.编译器内置固有(intrinsic)函数:编译器包括内存操作函数、数学函数、位操作函数、原子变量操作函数等。这些函数通常与CPU硬件架构紧密相关,且一般需要使用汇编代码来提供最佳性能。固有函数是由编译器实现的,提供给程序调用的函数,因此也实现了对不同CPU架构的适配。
///     1.2.基本特征(Trait):CORE库的基本特征包括运算符(OPS)Trait、编译器Marker Trait、选代器(Iterator) Trait、类型转换Trait 等。
///     1.3.Option/Result类型:不是编译器的内嵌类型,与其他类型相比,也毫无特别之处,但它们通常被认为是Rust 中不可或缺的语法组成部分
///     1.4.基本数据类型:包括整数类型、浮点类型、布尔类型、字符类型和单元类型,重点对这些类型实现基本特征及一些特有函数。例如,字符类型实现了Unicode 及ASCII不同编码的处理雨数;整数类型及浮点类型实现了数学函数及字节序变换函数。
///     1.5.数组、切片及Range类型:包括对这些类型实现基本特征及一些特有函数
///     1.6.内存操作:内存操作包括 alloc模块、mem模块、pt模块。Rust中90%的不安全(unsafe)语法都可归结到这3个模块。
///     1.7.字符串及格式化:字符串及格式化包括对字符串类型实现基本特征及一些特有函数。在这些实现中,格式化需要重点关注。
///     1.8.内部可变性类型:内部可变性类型包括UnsafeCell<T>、Cell<T>、RefCell<T>等,同样对这些类型实现基本特征及一些特有函数。
///     1.9.其他:其他内容包括FFI、时间、异步库等。
/// 2.ALLOC:ALLOC库的所有类型都基于堆内存,包括智能指针类型、集合类型、容器类型。这些类型与为这些类型实现的函数和Trait组成了ALLOC库的主体。ALLOC库仅依赖于CORE,适用于OS内核编程与用户态编程。
///     2.1.内存申请与释放:Allocator Trait 及其实现者 Global 单元类型
///     2.2.基础智能指针类型:Box<T>、RC<T>
///     2.3.动态数组智能指针类型:RawVec<T>、Vec<T>
///     2.4.字符串智能指针类型:String
///     2.5.并发安全基础智能指针类型:Arc<T>
///     2.6.集合类型:LinkList<T>、VecQueue<T>、BTreeSet<T>、BtreeMap<T>等
/// 3.STD:STD库建立在OS的系统调用(SYSCALL)基础上,只适用于用户态编程。STD库最主要的工作是针对OS资源设计RRust的类型、Trait 及函数
///     3.1.对CORE库及ALLOC库的内容进行映射。
///     3.2.实现进程管理与进程问通信。
///     3.3.实现线程管理、线程间临界区/互斥锁、消息通信及其他线程相关内容
///     3.4.实现文件、目录及OS环境。
///     3.5.实现输入、输出。
///     3.6.实现网络通信。
///

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值