Comprehensive Rust(日语) 202412. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17 2 Cargo の使用 18 2.1 Rust エコシステム . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18 2.2 講座のサンプルコード . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35 6.4 ブロックとスコープ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36 1 6.4.1 スコープとシャドーイング . . . . . . . . . . . . . . . . . . . . . . . 36 6.5 関数 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37 6.6 マクロ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37 6.7 演習: コラッツ数列0 码力 | 381 页 | 1.36 MB | 10 月前3
 Hello 算法 1.2.0 繁体中文 Rust 版‧ 本書的主要受眾是演算法初學者。如果你已有一定基礎,本書能幫助你系統回顧演算法知識,書中源程 式碼也可作為“刷題工具庫”使用。 ‧ 書中內容主要包括複雜度分析、資料結構和演算法三部分,涵蓋了該領域的大部分主題。 ‧ 對於演算法新手,在初學階段閱讀一本入門書至關重要,可以少走許多彎路。 ‧ 書中的動畫圖解通常用於介紹重點和難點知識。閱讀本書時,應給予這些內容更多關注。 ‧ 實踐乃學習程式設 是時間或空間 增長的“快慢”。 複雜度分析克服了實際測試方法的弊端,體現在以下幾個方面。 第 2 章 複雜度分析 www.hello‑algo.com 19 ‧ 它無需實際執行程式碼,更加綠色節能。 ‧ 它獨立於測試環境,分析結果適用於所有執行平臺。 ‧ 它可以體現不同資料量下的演算法效率,尤其是在大資料量下的演算法效能。 Tip 如果你仍對複雜度的概念感到困惑,無須擔心,我們會在後續章節中詳細介紹。 遞迴:將問題分解為子問題 ?(?) = ?+?(?−1) ,不斷(遞迴地)分解下去,直至基本情況 ?(1) = 1 時終止。 1. 呼叫堆疊 遞迴函式每次呼叫自身時,系統都會為新開啟的函式分配記憶體,以儲存區域性變數、呼叫位址和其他資訊 等。這將導致兩方面的結果。 ‧ 函式的上下文資料都儲存在稱為“堆疊幀空間”的記憶體區域中,直至函式返回後才會被釋放。因此, 遞迴通常比迭代更加耗費記憶體空間。 ‧0 码力 | 388 页 | 18.82 MB | 10 月前3
 Rust 程序设计语言简体中文版................................................................................ 142 7.2. 定义模块来控制作用域与私有性 .................................................................................. 144 7.3. 引用模块项目的路径 ........................................................................ 148 7.4. 使用 use 关键字将路径引入作用域 ............................................................................. 155 7.5. 将模块拆分成多个文件 . guessed: {guess}"); } 示例 2-1:获取用户猜测并打印的代码 这些代码包含很多信息,我们一行一行地过一遍。为了获取用户输入并打印结果作为输出,我 们需要将 io 输入/输出库引入当前作用域。io 库来自于标准库,也被称为 std : use std::io; # # fn main() { # println!("Guess the number!"); # # println0 码力 | 600 页 | 12.99 MB | 1 年前3
 Rust 程序设计语言 简体中文版 1.85.0. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 132 7.2. 定义模块来控制作用域与私有性 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 137 7.4. 使用 use 关键字将路径引入作用域 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 需要将 io 输入/输出库引入当前作用域。io 库来自于标准库,也被称为 std: use std::io; 默认情况下,Rust 设定了若干个会自动导入到每个程序作用域中的标准库内容,这组内容被 称为 预导入(prelude) 内容。你可以在标准库文档中查看预导入的所有内容。 如果你需要的类型不在预导入内容中,就必须使用 use 语句显式地将其引入作用域。std::io 库提供很多有用的功能,包括接收用户输入的功能。0 码力 | 562 页 | 3.23 MB | 1 月前3
 Rust 语言学习笔记1 绑定 ................................................................................. 31 3.1.2 作用域 .............................................................................. 31 3.1.3 移动语义..... std::vec::Vec 在 baidu/rust-sgx-sdk 这些都需要重新引入。 1.2.8 pub restricted 在 rust 中后来引入了支持使 item 仅仅在其能够指定想要的作用域(可见范围) 可见。这块的内容可以查看 https://rustcc.gitbooks.io/rustprimer/content/module/pub- restricted.html 相关内容。 也不支持像+和*这样的双目运算符,需要自己实现,或者使 用 match 进行匹配。 枚举默认也是私有的,如果使用 pub 使其变为公有,则它的元素也都是默认公 有的。 这一点是与结构体不同的:即使结构体是公有的,它的域仍然是默认私 有的。 rust 枚举与其他语言的枚举不同的是在指定枚举元素时定义它元素是由什么组 成的。 2.4.2.9 字符串类型 如果要说 rust 的字符串类型,就不得不先提 go 的字符串类型。0 码力 | 117 页 | 2.24 MB | 1 年前3
 Comprehensive Rust(简体中文) 202412. . . . . . . . . . . . . . . . . . . . . 31 6.4 代码块和作用域 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32 1 6.4.1 作用域和遮蔽(Shadowing). . . . . . . . . . . . . . . . . . . . . . minutes. It contains: Slide Duration if 表达式 4 minutes 循环控制 5 minutes break 和 continue 4 minutes 代码块和作用域 5 minutes 函数 3 minutes 宏 2 minutes 练习:考拉兹序列 15 minutes 6.1 if 表达式 if 表达式 的用法与其他语言中的 if 语句完全一样。 fn {elements_searched}"); } • 请注意,loop 是唯一返回有意义的值的循环结构。这是因为它保证至少被输入一次(与 while 和 for 循环不同)。 31 6.4 代码块和作用域 块 A block in Rust contains a sequence of expressions, enclosed by braces {}. Each block has a value0 码力 | 359 页 | 1.33 MB | 10 月前3
 Comprehensive Rust(繁体中文)– Linux、Mac、Windows... • Rust 適用於多種裝置: – 韌體和啟動載入器 – 智慧螢幕、 – 手機、 – 電腦、 – 伺服器。 Rust 適合用於與 C++ 同樣的領域,且具有以下特色: • 高靈活性。 • 提供高度主控權。 • 可縮減到十分受限的裝置規模,例如微控制器。 • 沒有執行階段,也不使用垃圾收集機制。 • 著重可靠性和安全性,但不犧牲效能。 4.2 Rust 程式分配記憶體的方式有兩種: • 堆疊 (Stack):本機變數的連續記憶體區域。 – 值在編譯期間具有已知的固定大小。 – 相當快速:只需移動堆疊指標。 – 易於管理:追蹤函式呼叫。 – 良好的記憶體區域性。 • 堆積 (Heap):函式呼叫外的值儲存空間。 – 值在執行階段中以動態方式判斷大小。 – 速度稍慢於堆疊:需要作一些記錄。 – 不保證記憶體區域性。 範例 Creating a String puts println!("p2: {p2:?}"); } • 指派後,p1 和 p2 都會擁有自己的資料。 • 我們也能使用 p1.clone() 明確複製資料。 複製和克隆並不相同: • 複製是指記憶體區域的按位元複製作業,不適用於任意物件。 • 複製不允許用於自訂邏輯,這與 C++ 中的複製建構函式不同。 • 克隆是較廣泛的作業,而且只要實作 Clone 特徵,即允許用於自訂行為。 • 複製不適用於實作0 码力 | 358 页 | 1.41 MB | 10 月前3
 Comprehensive Rust(繁体中文) 202406– Linux、Mac、Windows... • Rust 適用於多種裝置: – 韌體和啟動載入器 – 智慧螢幕、 – 手機、 – 電腦、 – 伺服器。 Rust 適合用於與 C++ 同樣的領域,且具有以下特色: • 高靈活性。 • 提供高度主控權。 • 可縮減到十分受限的裝置規模,例如微控制器。 • 沒有執行階段,也不使用垃圾收集機制。 • 著重可靠性和安全性,但不犧牲效能。 4.2 Rust 程式分配記憶體的方式有兩種: • 堆疊 (Stack):本機變數的連續記憶體區域。 – 值在編譯期間具有已知的固定大小。 – 相當快速:只需移動堆疊指標。 – 易於管理:追蹤函式呼叫。 – 良好的記憶體區域性。 • 堆積 (Heap):函式呼叫外的值儲存空間。 – 值在執行階段中以動態方式判斷大小。 – 速度稍慢於堆疊:需要作一些記錄。 – 不保證記憶體區域性。 範例 Creating a String puts println!("p2: {p2:?}"); } • 指派後,p1 和 p2 都會擁有自己的資料。 • 我們也能使用 p1.clone() 明確複製資料。 複製和克隆並不相同: • 複製是指記憶體區域的按位元複製作業,不適用於任意物件。 • 複製不允許用於自訂邏輯,這與 C++ 中的複製建構函式不同。 • 克隆是較廣泛的作業,而且只要實作 Clone 特徵,即允許用於自訂行為。 • 複製不適用於實作0 码力 | 356 页 | 1.41 MB | 1 年前3
 基于静态分析的Rust内存安全缺陷检测研究别名分析 模式识别 控制流图 生成树 别名分析 ❑ 主要规则: 路径提取 别名分析 模式识别 过程间分析 近似处理multi-level pointers ❑ 示例: 域敏感和过程间分析 过程间分析 域敏感 更新 缺陷模式 路径提取 别名分析 模式识别 生成新的所有者 大纲 一、问题背景 二、Rust指针缺陷检测方法 三、实验结论 四、论文发表心得 实验效果 ❑0 码力 | 28 页 | 1.55 MB | 1 年前3
 洛佳 组件化驱动、ROM运行环境与RustSBI抽 象 设 计 适配embedded-hal等外设功能标准抽象 面 向 功 能 的 外 设 结 构 联合所有权、泛型等,暴露外设所有功能 外 设 及 其 寄 存 器 表 示 封装寄存器、位域表示和数据结构 分享性外设:以GPIO为例 • 从前级环境获取所有权,如从ROM 运行环境的#[entry]获得; • 配置GPIO状态后,只有对应外设类 型允许的操作函数能通过编译,否则 频 连 接 等 , 与 对 应 的 功 能 、 电 源 外 设 共 同 设 计 无 线 连 接 外 设 W i - F i 基 带 、 蓝 牙 、 U W B 等 , 合 理 编 写 频 域 、 功 率 等 软 件 限 制 , 结 合 开 源 协 议 栈 A I 加 速 外 设 包 括 自 研 A I 核 、 核 显 和 向 量 扩 展 等 , 编 写 专 用 驱 动 后 ,0 码力 | 21 页 | 3.12 MB | 1 年前3
共 15 条
- 1
 - 2
 













