Comprehensive Rust(繁体中文). . . . . . . . . . . . . . . . . . . . . . . . . 159 VIII 第 4 天:下午 162 28 Welcome Back 163 29 錯誤處理 164 29.1 恐慌 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 164 29 4 動態錯誤型別 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 167 29.5 thiserror and anyhow . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 168 29.6 使用 Result 進行結構化錯誤處理 . . . . . . . . . . . . . . . . . . . . . . 214 37.2.7 錯誤處理 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 214 37.2.8 錯誤處理 . . . . . . . . . . . . . . . . . . . . . . . . . . . .0 码力 | 358 页 | 1.41 MB | 10 月前3
Comprehensive Rust(繁体中文) 202406. . . . . . . . . . . . . . . . . . . . . . . . . 157 VIII 第 4 天:下午 160 28 Welcome Back 161 29 錯誤處理 162 29.1 恐慌 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 162 29 4 動態錯誤型別 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 165 29.5 thiserror and anyhow . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 166 29.6 使用 Result 進行結構化錯誤處理 . . . . . . . . . . . . . . . . . . . . . . 212 37.2.7 錯誤處理 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 212 37.2.8 錯誤處理 . . . . . . . . . . . . . . . . . . . . . . . . . . . .0 码力 | 356 页 | 1.41 MB | 1 年前3
Hello 算法 1.2.0 繁体中文 Rust 版”從這個意義上看,這本 書並非完全“免費”。為了不辜負你為本書所付出的寶貴“注意力”,我會竭盡所能,投入最大的“注意力” 來完成本書的創作。 本人自知學疏才淺,書中內容雖然已經過一段時間的打磨,但一定仍有許多錯誤,懇請各位老師與同學批評 指正。 本書中的程式碼附有可一鍵執行的原始檔,託管於 github.com/krahets/hello‑algo 倉庫。 動畫在 PDF 內的展示效果有限,可訪問 www “如果我當年學資料結構與演算法時有《Hello 演算法》,學起來應該會簡單 10 倍!” ——李沐,亞馬遜資深首席科學家 電腦的出現為世界帶來了巨大的變革,它憑藉高速的運算能力與卓越的可程式化特性,成為執行演算法 與處理資料的理想媒介。無論是電玩遊戲的逼真畫面、自動駕駛的智慧決策,還是 AlphaGo 的精彩棋局、 ChatGPT 的自然互動,這些應用都是演算法在電腦上的精妙演繹。 事實上,在電腦問世之前,演算 的進步,演算法逐漸變得更加精細和複雜。從巧奪天工的匠人 技藝、到解放生產力的工業產品、再到宇宙運行的科學規律,幾乎每一件平凡或令人驚嘆的事物背後,都隱 藏著精妙的演算法思想。 同樣,資料結構無處不在:大到社會網絡,小到地鐵路線,許多系統都可以建模為“圖”;大到一個國家,小 到一個家庭,社會的主要組織形式呈現出“樹”的特徵;冬天的衣服就像“堆疊”,最先穿上的最後才能脫下; 羽毛球筒則如同“0 码力 | 388 页 | 18.82 MB | 10 月前3
Comprehensive Rust(日语) 202412. . . . . . . . . . . . . . . . . . . . . . . . . . . 170 VIII Day 4:PM 173 28 おかえり 174 29 エラー処理 175 29.1 パニック(panic). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 175 29.2 Result . . . . . . . . . . . . . . . . . . 228 37.2.7 Rust のエラー処理 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 228 37.2.8 C++のエラー処理 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44.1 バインディングの例 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 246 44.2 CXX におけるエラー処理 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 248 44.2.1 CXX Error Handling: QR Example0 码力 | 381 页 | 1.36 MB | 10 月前3
洛佳 组件化驱动、ROM运行环境与RustSBI动、环境和SBI接口的基础上,提供快速 实现具体引导流程的解决方案。 目录 组件化驱动 第 01 部分 什么是组件化驱动? 运 用 生 命 周 期 、可 变 性 等 最 新 的 编 程 语 言 理 论 成 果 ,构 造 适 应 开 发 需 求 的 驱 动 程 序 。可 结 合 过 程 宏 等 工 程 设 计 ,提 高 开 发 效 率 。 2 1 世 纪 的 驱 动 程 序 同 系 列 芯 片 t 和 音 频 连 接 等 , 与 对 应 的 功 能 、 电 源 外 设 共 同 设 计 无 线 连 接 外 设 W i - F i 基 带 、 蓝 牙 、 U W B 等 , 合 理 编 写 频 域 、 功 率 等 软 件 限 制 , 结 合 开 源 协 议 栈 A I 加 速 外 设 包 括 自 研 A I 核 、 核 显 和 向 量 扩 展 等 , 编 写 专 用 多核异构芯片的镜像融合(以BL808为例) 部 分 固 件 调 试 首 先 编 译 程 序 为 单 核 固 件 , 再 融 合 三 个 固 件 为 多 核 。 单 核 固 件 可 独 立 运 行 , 易 于 按 处 理 器 核 单 独 划 分 和 调 试 。 融 合 规 则 若 三 个 不 同 固 件 中 镜 像 头 的 闪 存 配 置 、 时 钟 配 置 不 同 , 或 使 用 的 C P U 核 有 交0 码力 | 21 页 | 3.12 MB | 1 年前3
Rust 程序设计语言 简体中文版 1.85.0重试操作。 不可恢复的错误总是 bug 出现的征兆,比如试图访问一个超过数组末端的位置,因此我们要 立即停止程序。 大多数语言并不区分这两种错误,并采用类似异常(exception)这样方式统一处理它们。 Rust 没有异常。相反,它有 Result类型,用于处理可恢复的错误,还有 panic! 宏, 在程序遇到不可恢复的错误时停止执行。本章首先介绍 panic! 调用,接着会讲到如何返回 生时打印调用堆栈(call stack)以便于定位 panic 的原因。 响应 panic 时的栈展开或终止 当出现 panic 时,程序默认会开始 展开(unwinding),这意味着 Rust 会回溯栈并清 理它遇到的每一个函数的数据,不过这个回溯并清理的过程有很多工作。另一种选择 是直接 终止(abort),这会不清理数据就退出程序。 那么程序所使用的内存需要由操作系统来清理。如果你需要项目的最终二进制文件越 Result 来从错误中恢复。 173/562Rust 程序设计语言 简体中文版 用 Result 处理可恢复的错误 大部分错误并没有严重到需要程序完全停止执行。有时函数失败的原因很容易理解并加以处 理。例如,如果因为打开一个并不存在的文件而失败,此时我们可能想要创建这个文件,而不 是终止进程。 回忆一下第二章 “使用 Result 类型来处理潜在的错误” 部分中的那个 Result 枚举,它定义有 0 码力 | 562 页 | 3.23 MB | 26 天前3
2021信创“大比武”鲲鹏基础软件开发赛道
基于Rust语言的openGauss驱动测试服务器 13 团队简介 纪凤楠 十一年研发工作经验。工作中主要是使用 JAVA 语言。 目前就职于中软国际,任职架构师。虽然是从事技术工作,但个人认为技术要为业务服务,因此也非常重视对业务的理 解,力图为业务量身打造最合适的技术实现。 Thank you.0 码力 | 14 页 | 566.24 KB | 1 年前3
Rust 是否需要另⼀种“⾊彩”的 Future? - 郭⼦兴接收事件完成; 5. 离开超时分⽀; 6. 析构 t1, t2 Future; Stream::merge ⽽不是 select! ⽤户必须感知当 Future 被取消时如何进⾏清 理,因此我们尝试将 select 的所有分⽀整理 成 Stream 类型,必须在命中第⼀个分⽀的线 程决定其余分⽀的清理流程,或者接受 Stream 没有消费完成的代价。 Wait for all0 码力 | 19 页 | 7.77 MB | 1 年前3
新一代分布式高性能图数据库的构建 - 沈游人Projection Filter Stage Stage 物理执行计划 01 02 03 将不同的执行阶段推送到对应的存储 引擎,减少网络传输和内存压力 实际执行时,执行器等待流数据,处 理后将数据推送到下一个执行器 切分执行计划,将执行计划划分成不 同的执行阶段 内存缓存结构:加速图数据查询 • 由于图数据的查询通常是 IO 密集型,且访问的数据随机又分散,拥有内存缓存能起到很0 码力 | 38 页 | 24.68 MB | 1 年前3
Comprehensive Rust(简体中文) 202412如何审核其源代码以确保足够的安全性。 46.1 配置 Cargo.tom 文件以添加 crate Chromium 具有一组集中管理的直接 crate 依赖项。这些依赖项通过单独的 Cargo.toml 文件进行管 理: [dependencies] bitflags = "1" cfg-if = "1" cxx = "1" # lots more... 与任何其他 Cargo.toml 一样,您可以指定有关依 std::mem::drop 调用。会出现什么情况?这是为什么? • Flume crate 包含可以同时实现 sync、async send 和 recv 的渠道,为涉及 IO 和大量 CPU 处 理任务的复杂应用提供了极大便利。 • 使用 async 通道的优势在于,我们能够将它们与其他 future 结合起来,从而创建复杂的控制流。 331 第 64 部分 Futures Control0 码力 | 359 页 | 1.33 MB | 10 月前3
共 13 条
- 1
- 2













