Rust 语言学习笔记
......................................................................................7 第一章 包管理系统与版本管理工具................................................................9 1.1 Crate ................ 2.8 pub restricted ..................................................................... 15 1.3 版本管理工具 .............................................................................. 15 1.4 rust 编译运行 程序设计语言的本质在于赋能(empowerment):无论你现在编写的是何 种代码,Rust 能让你在更为广泛的编程领域走得更远,写出自信。 比如,“系统层面”(“systems-level”)的工作,涉及内存管理、数据表示 和并发等底层细节。从传统角度来看,这是一个神秘的编程领域,只为浸淫多 年的极少数人所触及,也只有他们能避开那些臭名昭著的陷阱。即使谨慎的实 践者,亦唯恐代码出现漏洞、崩溃或损坏。 Rust0 码力 | 117 页 | 2.24 MB | 1 年前3Rust 程序设计语言 简体中文版 1.85.0
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 128 7. 使用包、Crate 和模块管理不断增长的项目 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 271 12.6. 将错误信息输出到标准错误而不是标准输出 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 276 13. 函数式语言特性:迭代器与闭包 程序设计语言的本质实际在于 赋能(empowerment):无论你现在编写的是何种代码, Rust 能让你在更为广泛的编程领域走得更远,写出自信。(这一点并不显而易见) 举例来说,那些“系统层面”的工作涉及内存管理、数据表示和并发等底层细节。从传统角度来 看,这是一个神秘的编程领域,只为浸润多年的极少数人所触及,也只有他们能避开那些臭名 昭著的陷阱。即使谨慎的实践者,亦唯恐代码出现漏洞、崩溃或损坏。 Rust0 码力 | 562 页 | 3.23 MB | 9 天前3Comprehensive Rust(简体中文) 202412
. . . . 95 V 第三天:上午 97 18 欢迎参加第 3 天的课程 98 19 内存管理 99 19.1 回顾:程序的内存分配 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 99 19.2 内存管理方法 . . . . . . . . . . . . . . . . . . . . . . . . . 20 minutes 标准库特征 1 hour and 40 minutes • 第三天上午(2 小时 20 分钟,含休息时间) Segment Duration 欢迎 3 minutes 内存管理 1 hour 智能指针 55 minutes • Day 3 Afternoon (1 hour and 50 minutes, including breaks) 13 Segment Duration 2.1 Rust 生态系统 Rust 生态系统由许多工具组成,主要包括: • rustc:Rust 编译器,可将 .rs 文件转换为二进制文件和其他中间格式。 • cargo:Rust 依赖项管理器和构建工具。Cargo 知道如何下载托管在 https://crates.io 上的依赖 项, 并在构建项目时将它们传递给 rustc。Cargo 还附带一个内置的测试运行程序,用于执行单元 测试。0 码力 | 359 页 | 1.33 MB | 10 月前3Hello 算法 1.1.0 Rust版
算法定义 算法(algorithm)是在有限时间内解决特定问题的一组指令或操作步骤,它具有以下特性。 ‧ 问题是明确的,包含清晰的输入和输出定义。 ‧ 具有可行性,能够在有限步骤、时间和内存空间下完成。 ‧ 各步骤都有确定的含义,在相同的输入和运行条件下,输出始终相同。 1.2.2 数据结构定义 数据结构(data structure)是计算机中组织和存储数据的方式,具有以下设计目标。 ‧ 表 1‑1 将数据结构与算法类比为拼装积木 数据结构与算法 拼装积木 输入数据 未拼装的积木 数据结构 积木组织形式,包括形状、大小、连接方式等 算法 把积木拼成目标形态的一系列操作步骤 输出数据 积木模型 值得说明的是,数据结构与算法是独立于编程语言的。正因如此,本书得以提供基于多种编程语言的实现。 约定俗成的简称 在实际讨论时,我们通常会将“数据结构与算法”简称为“算法”。比如众所周知的 算法在运行过程中使用的内存空间主要包括以下几种。 ‧ 输入空间:用于存储算法的输入数据。 ‧ 暂存空间:用于存储算法在运行过程中的变量、对象、函数上下文等数据。 ‧ 输出空间:用于存储算法的输出数据。 一般情况下,空间复杂度的统计范围是“暂存空间”加上“输出空间”。 暂存空间可以进一步划分为三个部分。 第 2 章 复杂度分析 hello‑algo.com 42 ‧ 暂存数据:用于保存算法运行过程中的各种常量、变量、对象等。0 码力 | 388 页 | 18.50 MB | 1 年前3Hello 算法 1.2.0 简体中文 Rust 版
算法定义 算法(algorithm)是在有限时间内解决特定问题的一组指令或操作步骤,它具有以下特性。 ‧ 问题是明确的,包含清晰的输入和输出定义。 ‧ 具有可行性,能够在有限步骤、时间和内存空间下完成。 ‧ 各步骤都有确定的含义,在相同的输入和运行条件下,输出始终相同。 1.2.2 数据结构定义 数据结构(data structure)是组织和存储数据的方式,涵盖数据内容、数据之间关系和数据操作方法,它具 表 1‑1 将数据结构与算法类比为拼装积木 数据结构与算法 拼装积木 输入数据 未拼装的积木 数据结构 积木组织形式,包括形状、大小、连接方式等 算法 把积木拼成目标形态的一系列操作步骤 输出数据 积木模型 值得说明的是,数据结构与算法是独立于编程语言的。正因如此,本书得以提供基于多种编程语言的实现。 约定俗成的简称 在实际讨论时,我们通常会将“数据结构与算法”简称为“算法”。比如众所周知的 算法在运行过程中使用的内存空间主要包括以下几种。 ‧ 输入空间:用于存储算法的输入数据。 ‧ 暂存空间:用于存储算法在运行过程中的变量、对象、函数上下文等数据。 ‧ 输出空间:用于存储算法的输出数据。 一般情况下,空间复杂度的统计范围是“暂存空间”加上“输出空间”。 暂存空间可以进一步划分为三个部分。 第 2 章 复杂度分析 www.hello‑algo.com 42 ‧ 暂存数据:用于保存算法运行过程中的各种常量、变量、对象等。0 码力 | 387 页 | 18.51 MB | 10 月前3Hello 算法 1.0.0 Rust版
算法定义 「算法 algorithm」是在有限时间内解决特定问题的一组指令或操作步骤,它具有以下特性。 ‧ 问题是明确的,包含清晰的输入和输出定义。 ‧ 具有可行性,能够在有限步骤、时间和内存空间下完成。 ‧ 各步骤都有确定的含义,在相同的输入和运行条件下,输出始终相同。 1.2.2 数据结构定义 「数据结构 data structure」是计算机中组织和存储数据的方式,具有以下设计目标。 ‧ 表 1‑1 将数据结构与算法类比为拼装积木 数据结构与算法 拼装积木 输入数据 未拼装的积木 数据结构 积木组织形式,包括形状、大小、连接方式等 算法 把积木拼成目标形态的一系列操作步骤 输出数据 积木模型 值得说明的是,数据结构与算法是独立于编程语言的。正因如此,本书得以提供基于多种编程语言的实现。 � 约定俗成的简称 在实际讨论时,我们通常会将“数据结构与算法”简称为“算法”。比如众所周知的 算法在运行过程中使用的内存空间主要包括以下几种。 ‧ 输入空间:用于存储算法的输入数据。 ‧ 暂存空间:用于存储算法在运行过程中的变量、对象、函数上下文等数据。 ‧ 输出空间:用于存储算法的输出数据。 一般情况下,空间复杂度的统计范围是“暂存空间”加上“输出空间”。 暂存空间可以进一步划分为三个部分。 第 2 章 复杂度分析 hello‑algo.com 42 ‧ 暂存数据:用于保存算法运行过程中的各种常量、变量、对象等。0 码力 | 383 页 | 17.61 MB | 1 年前3洛佳 组件化驱动、ROM运行环境与RustSBI
换,此处用于将main函数转换为固 件需要的入口函数。 • 包含ABI转换、检查参数等步骤。 • 使用过程宏时,同时使用对应包中的 start初始化代码。start代码无需由 用户编写,而是包含在宏生成的输出 代码中。 • 编译即可获得包含镜像头的固件包, 这是传统开发方法不具备的功能。 多核异构芯片的镜像融合(以BL808为例) 部 分 固 件 调 试 首 先 编 译 程 序 为 单 核 固 和 效 率 。 2023年的RustSBI 第 03 部分 RustSBI软件架构更新 • RISC-V SBI可运用于机器态和虚拟化 的宿主态,此时RustSBI实现应为虚 拟机提供电源、核管理等功能。 • 嵌套虚拟化存在时,RustSBI实现应 当为内部虚拟机软件模拟H指令集。 在这方面,Dramforever的项目1提 供了很好的例子。 • LARVa2项目是固件充当模拟器的例 子0 码力 | 21 页 | 3.12 MB | 1 年前3Rust 程序设计语言简体中文版
............................................................................. 304 12.6. 将错误信息输出到标准错误而不是标准输出 ............................................................. 316 13. Rust 中的函数式语言功能:迭代器与闭包 中能够继续编译。不同版本的输出可能略有不同,因为 Rust 经常改进错误信息和警 告。也就是说,任何通过这些步骤安装的最新稳定版 Rust,都应该能正常运行本书中的内容。 命令行标记 本章和全书中,我们会展示一些在终端中使用的命令。所有需要输入到终端的行都以 $ 开头。你不需要输入 $ 字符;这里显示的 $ 字符表示命令行提示符,仅用于提示 每行命令的起点。不以 $ 起始的行通常展示前一个命令的输出。另外,PowerShell Rust。过程中可能会提 示你输入密码。如果安装成功,将会出现如下内容: Rust is installed now. Great! 另外,你还需要一个 链接器(linker),这是 Rust 用来将其编译的输出连接到一个文件中的 程序。很可能你已经有一个了。如果你遇到了链接器错误,请尝试安装一个 C 编译器,它通常 包括一个链接器。C 编译器也很有用,因为一些常见的 Rust 包依赖于 C 代码,因此需要安装0 码力 | 600 页 | 12.99 MB | 1 年前3Rust OS 开源操作系统训练营的教与学-0615-李明
cn/blog/ 学习操作系统,锤炼个人核心技能 # 个人成长 12周持续输入,考验耐力与坚持 # 连续培训 # 适度竞争 1 四阶段提升,不断增强学习成就感 # 晋级选拔 写学习博客,输出带动吸收内化 # 强化输出 # 行业共建 排行榜你追我赶,激发学习动力 源自高校,联合行业共同培养 训练营的六大要素 2 3 4 5 6 Rust OS 开源操作系统训练营的教与学 3 2023春夏季OS训练营案例总结0 码力 | 26 页 | 2.62 MB | 1 年前3Rust算法教程 The Algos (algorithms)
这些算法 已经很好的被包装在其它库中,我们只需要输⼊数据然后调⽤它获得输出数据即可,因此这就引出 了算法的基本定义: 计算机算法是以⼀步接⼀步的⽅式来详细描述计算机如何将输⼊转化为所要求的输出的过程,或者 说,算法是对计算机上执⾏的计算过程的具体描述。(以上内容摘抄⾃百度百科),简单点说计算 机算法就是将输⼊转化为所要求的输出过程。 既然只要调⽤别⼈的算法库即可完成任务,我们为什么要学习算法呢?原因很简单:⾯试需要。哈0 码力 | 270 页 | 8.46 MB | 1 年前3
共 28 条
- 1
- 2
- 3