 Rust API可靠性分析与验证Conf 2021 – 2022, Online, China 姜剑峰 Rust API可靠性分析与验证 Rust China Conf 2021 – 2022, Online, China 主题内容 • Rust第三方库API可靠性现状 • 现用方法的局限性 • 基于程序合成+模糊测试的可靠性分析方法 Rust China Conf 2021 – 2022, Online, China 数组越界 • 整数溢出 • Unicode字符边界 Rust China Conf 2021 – 2022, Online, China Rust API 可靠性 现有的机制是否足够呢? • unsafe代码没有破坏内存安全性 • no memory leakage • panic free 在任何合法使用API的情况下 • 所有静态检查提供的保证都应该被满足(不应该被unsafe所破坏) 破坏) • 所有动态检查都不应该被违背(可以被安全的移除),除非panic是一种 允许的行为 Rust China Conf 2021 – 2022, Online, China 现有的可靠性分析方法及其局限性 模糊测试(afl.rs, libfuzzer):分支覆盖率;用例程序的构造 符号执行(klee, angr):路径爆炸;求解困难 静态分析(MirChecker, Rudra0 码力 | 13 页 | 1.68 MB | 1 年前3 Rust API可靠性分析与验证Conf 2021 – 2022, Online, China 姜剑峰 Rust API可靠性分析与验证 Rust China Conf 2021 – 2022, Online, China 主题内容 • Rust第三方库API可靠性现状 • 现用方法的局限性 • 基于程序合成+模糊测试的可靠性分析方法 Rust China Conf 2021 – 2022, Online, China 数组越界 • 整数溢出 • Unicode字符边界 Rust China Conf 2021 – 2022, Online, China Rust API 可靠性 现有的机制是否足够呢? • unsafe代码没有破坏内存安全性 • no memory leakage • panic free 在任何合法使用API的情况下 • 所有静态检查提供的保证都应该被满足(不应该被unsafe所破坏) 破坏) • 所有动态检查都不应该被违背(可以被安全的移除),除非panic是一种 允许的行为 Rust China Conf 2021 – 2022, Online, China 现有的可靠性分析方法及其局限性 模糊测试(afl.rs, libfuzzer):分支覆盖率;用例程序的构造 符号执行(klee, angr):路径爆炸;求解困难 静态分析(MirChecker, Rudra0 码力 | 13 页 | 1.68 MB | 1 年前3
 Await-Tree Async Rust 可观测性的灵丹妙药 -  赵梓淇Await-Tree Async Rust 可观测性的灵丹妙药 赵梓淇 Bugen Zhao Await-Tree Async Rust 可观测性的灵丹妙药 Await-Tree 的 设计原理与实现 2 回顾 Async Rust 的设计与痛点 1 Await-Tree 的 应用与真实案例 3 Await-Tree Async Rust 可观测性的灵丹妙药 Await-Tree 的 设计原理与实现 poll 驱动的状态机 • 组合嵌套为调度单元: Task • async fn 语法糖 Async Rust 观测与调试的痛点 Async Rust 回顾 • 特性: Future 灵活的可组合性 • 任意定制 Poll 的执行逻辑 (Join / Select / Timeout) • 动态的调用关系 • 痛点:观测与调试工具无法理解灵活的执行逻辑 • Backtrace 不够直观 ( 痛点:观测与调试工具无法还原 Pending Task 的执行状态 • 难以得知 Task 阻塞的位置和原因 • 难以调试 Async Stuck • ? 如何解决? Await-Tree Async Rust 可观测性的灵丹妙药 Await-Tree 的 设计原理与实现 2 回顾 Async Rust 的设计与痛点 1 Await-Tree 的 应用与真实案例 3 设计目标 Await Tree 的设计原理与实现0 码力 | 37 页 | 8.60 MB | 1 年前3 Await-Tree Async Rust 可观测性的灵丹妙药 -  赵梓淇Await-Tree Async Rust 可观测性的灵丹妙药 赵梓淇 Bugen Zhao Await-Tree Async Rust 可观测性的灵丹妙药 Await-Tree 的 设计原理与实现 2 回顾 Async Rust 的设计与痛点 1 Await-Tree 的 应用与真实案例 3 Await-Tree Async Rust 可观测性的灵丹妙药 Await-Tree 的 设计原理与实现 poll 驱动的状态机 • 组合嵌套为调度单元: Task • async fn 语法糖 Async Rust 观测与调试的痛点 Async Rust 回顾 • 特性: Future 灵活的可组合性 • 任意定制 Poll 的执行逻辑 (Join / Select / Timeout) • 动态的调用关系 • 痛点:观测与调试工具无法理解灵活的执行逻辑 • Backtrace 不够直观 ( 痛点:观测与调试工具无法还原 Pending Task 的执行状态 • 难以得知 Task 阻塞的位置和原因 • 难以调试 Async Stuck • ? 如何解决? Await-Tree Async Rust 可观测性的灵丹妙药 Await-Tree 的 设计原理与实现 2 回顾 Async Rust 的设计与痛点 1 Await-Tree 的 应用与真实案例 3 设计目标 Await Tree 的设计原理与实现0 码力 | 37 页 | 8.60 MB | 1 年前3
 Hello 算法 1.0.0 Rust版提供的排版建议,以及他开发的开源文档主题 Material‑for‑MkDocs 。 在写作过程中,我阅读了许多关于数据结构与算法的教材和文章。这些作品为本书提供了优秀的范本,确保 了本书内容的准确性与品质。在此感谢所有老师和前辈的杰出贡献! 本书倡导手脑并用的学习方式,在这一点上我深受《动手学深度学习》的启发。在此向各位读者强烈推荐这 本优秀的著作。 衷心感谢我的父母,正是你们一直以来的支 重要专有名词及其英文翻译会用「」 括号标注,例如「数组 array」 。建议记住它们,以便阅读文献。 ‧ 专有名词和有特指含义的词句会使用“引号” 标注,以避免歧义。 ‧ 重要名词、重点内容和总结性语句会 加粗,这类文字值得特别关注。 ‧ 当涉及编程语言之间不一致的名词时,本书均以 Python 为准,例如使用 None 来表示“空”。 ‧ 本书部分放弃了编程语言的注释规范,以换取更加紧凑的内容排版。注释主要分为三种类型:标题注 代码块与对应的源代码文件 除了本地运行代码,网页版还支持 Python 代码的可视化运行(基于 pythontutor 实现)。如图 0‑6 所示,你 可以点击代码块下方的“可视化运行”来展开视图,观察算法代码的执行过程;也可以点击“全屏观看”,以 获得更好的阅览体验。 图 0‑6 Python 代码的可视化运行 第 0 章 前言 hello‑algo.com 8 0.2.4 在提问讨论中共同成长0 码力 | 383 页 | 17.61 MB | 1 年前3 Hello 算法 1.0.0 Rust版提供的排版建议,以及他开发的开源文档主题 Material‑for‑MkDocs 。 在写作过程中,我阅读了许多关于数据结构与算法的教材和文章。这些作品为本书提供了优秀的范本,确保 了本书内容的准确性与品质。在此感谢所有老师和前辈的杰出贡献! 本书倡导手脑并用的学习方式,在这一点上我深受《动手学深度学习》的启发。在此向各位读者强烈推荐这 本优秀的著作。 衷心感谢我的父母,正是你们一直以来的支 重要专有名词及其英文翻译会用「」 括号标注,例如「数组 array」 。建议记住它们,以便阅读文献。 ‧ 专有名词和有特指含义的词句会使用“引号” 标注,以避免歧义。 ‧ 重要名词、重点内容和总结性语句会 加粗,这类文字值得特别关注。 ‧ 当涉及编程语言之间不一致的名词时,本书均以 Python 为准,例如使用 None 来表示“空”。 ‧ 本书部分放弃了编程语言的注释规范,以换取更加紧凑的内容排版。注释主要分为三种类型:标题注 代码块与对应的源代码文件 除了本地运行代码,网页版还支持 Python 代码的可视化运行(基于 pythontutor 实现)。如图 0‑6 所示,你 可以点击代码块下方的“可视化运行”来展开视图,观察算法代码的执行过程;也可以点击“全屏观看”,以 获得更好的阅览体验。 图 0‑6 Python 代码的可视化运行 第 0 章 前言 hello‑algo.com 8 0.2.4 在提问讨论中共同成长0 码力 | 383 页 | 17.61 MB | 1 年前3
 Hello 算法 1.1.0 Rust版——邓俊辉,清华大学计算机系教授 “如果我当年学数据结构与算法的时候有《Hello 算法》,学起来应该会简单 10 倍!” ——李沐,亚马逊资深首席科学家 计算机的出现给世界带来了巨大变革,它凭借高速的计算能力和出色的可编程性,成为了执行算法与处理数 据的理想媒介。无论是电子游戏的逼真画面、自动驾驶的智能决策,还是 AlphaGo 的精彩棋局、ChatGPT 的自然交互,这些应用都是算法在计算机上的精妙演绎。 事实上 提供的排版建议,以及他开发的开源文档主题 Material‑for‑MkDocs 。 在写作过程中,我阅读了许多关于数据结构与算法的教材和文章。这些作品为本书提供了优秀的范本,确保 了本书内容的准确性与品质。在此感谢所有老师和前辈的杰出贡献! 本书倡导手脑并用的学习方式,在这一点上我深受《动手学深度学习》的启发。在此向各位读者强烈推荐这 本优秀的著作。 衷心感谢我的父母,正是你们一直以来的支 的是选读章节,内容相对困难。如果你的时间有限,可以先跳过。 ‧ 专业术语会使用黑体(纸质版和 PDF 版)或添加下划线(网页版),例如数组(array)。建议记住它们, 以便阅读文献。 ‧ 重点内容和总结性语句会 加粗,这类文字值得特别关注。 ‧ 有特指含义的词句会使用“引号”标注,以避免歧义。 ‧ 当涉及编程语言之间不一致的名词时,本书均以 Python 为准,例如使用 None 来表示“空”。0 码力 | 388 页 | 18.50 MB | 1 年前3 Hello 算法 1.1.0 Rust版——邓俊辉,清华大学计算机系教授 “如果我当年学数据结构与算法的时候有《Hello 算法》,学起来应该会简单 10 倍!” ——李沐,亚马逊资深首席科学家 计算机的出现给世界带来了巨大变革,它凭借高速的计算能力和出色的可编程性,成为了执行算法与处理数 据的理想媒介。无论是电子游戏的逼真画面、自动驾驶的智能决策,还是 AlphaGo 的精彩棋局、ChatGPT 的自然交互,这些应用都是算法在计算机上的精妙演绎。 事实上 提供的排版建议,以及他开发的开源文档主题 Material‑for‑MkDocs 。 在写作过程中,我阅读了许多关于数据结构与算法的教材和文章。这些作品为本书提供了优秀的范本,确保 了本书内容的准确性与品质。在此感谢所有老师和前辈的杰出贡献! 本书倡导手脑并用的学习方式,在这一点上我深受《动手学深度学习》的启发。在此向各位读者强烈推荐这 本优秀的著作。 衷心感谢我的父母,正是你们一直以来的支 的是选读章节,内容相对困难。如果你的时间有限,可以先跳过。 ‧ 专业术语会使用黑体(纸质版和 PDF 版)或添加下划线(网页版),例如数组(array)。建议记住它们, 以便阅读文献。 ‧ 重点内容和总结性语句会 加粗,这类文字值得特别关注。 ‧ 有特指含义的词句会使用“引号”标注,以避免歧义。 ‧ 当涉及编程语言之间不一致的名词时,本书均以 Python 为准,例如使用 None 来表示“空”。0 码力 | 388 页 | 18.50 MB | 1 年前3
 Hello 算法 1.2.0 简体中文 Rust 版——邓俊辉,清华大学计算机系教授 “如果我当年学数据结构与算法的时候有《Hello 算法》,学起来应该会简单 10 倍!” ——李沐,亚马逊资深首席科学家 计算机的出现给世界带来了巨大变革,它凭借高速的计算能力和出色的可编程性,成为了执行算法与处理数 据的理想媒介。无论是电子游戏的逼真画面、自动驾驶的智能决策,还是 AlphaGo 的精彩棋局、ChatGPT 的自然交互,这些应用都是算法在计算机上的精妙演绎。 事实上 提供的排版建议,以及他开发的开源文档主题 Material‑for‑MkDocs 。 在写作过程中,我阅读了许多关于数据结构与算法的教材和文章。这些作品为本书提供了优秀的范本,确保 了本书内容的准确性与品质。在此感谢所有老师和前辈的杰出贡献! 本书倡导手脑并用的学习方式,在这一点上我深受《动手学深度学习》的启发。在此向各位读者强烈推荐这 本优秀的著作。 衷心感谢我的父母,正是你们一直以来的支 的是选读章节,内容相对困难。如果你的时间有限,可以先跳过。 ‧ 专业术语会使用黑体(纸质版和 PDF 版)或添加下划线(网页版),例如数组(array)。建议记住它们, 以便阅读文献。 ‧ 重点内容和总结性语句会 加粗,这类文字值得特别关注。 ‧ 有特指含义的词句会使用“引号”标注,以避免歧义。 ‧ 当涉及编程语言之间不一致的名词时,本书均以 Python 为准,例如使用 None 来表示“空”。0 码力 | 387 页 | 18.51 MB | 10 月前3 Hello 算法 1.2.0 简体中文 Rust 版——邓俊辉,清华大学计算机系教授 “如果我当年学数据结构与算法的时候有《Hello 算法》,学起来应该会简单 10 倍!” ——李沐,亚马逊资深首席科学家 计算机的出现给世界带来了巨大变革,它凭借高速的计算能力和出色的可编程性,成为了执行算法与处理数 据的理想媒介。无论是电子游戏的逼真画面、自动驾驶的智能决策,还是 AlphaGo 的精彩棋局、ChatGPT 的自然交互,这些应用都是算法在计算机上的精妙演绎。 事实上 提供的排版建议,以及他开发的开源文档主题 Material‑for‑MkDocs 。 在写作过程中,我阅读了许多关于数据结构与算法的教材和文章。这些作品为本书提供了优秀的范本,确保 了本书内容的准确性与品质。在此感谢所有老师和前辈的杰出贡献! 本书倡导手脑并用的学习方式,在这一点上我深受《动手学深度学习》的启发。在此向各位读者强烈推荐这 本优秀的著作。 衷心感谢我的父母,正是你们一直以来的支 的是选读章节,内容相对困难。如果你的时间有限,可以先跳过。 ‧ 专业术语会使用黑体(纸质版和 PDF 版)或添加下划线(网页版),例如数组(array)。建议记住它们, 以便阅读文献。 ‧ 重点内容和总结性语句会 加粗,这类文字值得特别关注。 ‧ 有特指含义的词句会使用“引号”标注,以避免歧义。 ‧ 当涉及编程语言之间不一致的名词时,本书均以 Python 为准,例如使用 None 来表示“空”。0 码力 | 387 页 | 18.51 MB | 10 月前3
 Rust 程序设计语言 简体中文版 1.85.0. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 446 19.2. Refutability(可反驳性): 模式是否会匹配失效 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 451 19.3. 模式语法 . io/trpl- zh-cn/ 在线阅读,PDF 版本请下载 Rust 程序设计语言 简体中文版.pdf) 本书也有由 No Starch Press 出版的纸质版和电子版。 🚨 想要具有互动性的学习体验吗?试试 Rust Book 的另一个版本,其中包括测验、 高亮、可视化等功能:https://rust-book.cs.brown.edu 5/562Rust 程序设计语言 简体中文版 安装最新稳定版的 Rust • 更新到新版的 Rust • 打开本地安装的文档 • 直接通过 rustc 编写并运行 Hello, world! 程序 • 使用 Cargo 创建并运行新项目 是时候通过构建更实质性的程序来熟悉读写 Rust 代码了。所以在第二章我们会构建一个猜数 字游戏程序。如果你更愿意从学习 Rust 常用的编程概念开始,请阅读第三章,接着再回到第 二章。 21/562Rust 程序设计语言0 码力 | 562 页 | 3.23 MB | 26 天前3 Rust 程序设计语言 简体中文版 1.85.0. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 446 19.2. Refutability(可反驳性): 模式是否会匹配失效 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 451 19.3. 模式语法 . io/trpl- zh-cn/ 在线阅读,PDF 版本请下载 Rust 程序设计语言 简体中文版.pdf) 本书也有由 No Starch Press 出版的纸质版和电子版。 🚨 想要具有互动性的学习体验吗?试试 Rust Book 的另一个版本,其中包括测验、 高亮、可视化等功能:https://rust-book.cs.brown.edu 5/562Rust 程序设计语言 简体中文版 安装最新稳定版的 Rust • 更新到新版的 Rust • 打开本地安装的文档 • 直接通过 rustc 编写并运行 Hello, world! 程序 • 使用 Cargo 创建并运行新项目 是时候通过构建更实质性的程序来熟悉读写 Rust 代码了。所以在第二章我们会构建一个猜数 字游戏程序。如果你更愿意从学习 Rust 常用的编程概念开始,请阅读第三章,接着再回到第 二章。 21/562Rust 程序设计语言0 码力 | 562 页 | 3.23 MB | 26 天前3
 Rust 程序设计语言简体中文版........................................................................ 463 18.2. Refutability(可反驳性): 模式是否会匹配失效 ...................................................... 468 18.3. 模式语法 ................. 翻译版本。简体中文译本可以在 https://kaisery.github.io/trpl-zh-cn/ 在线 阅读。 本书也有 由 No Starch Press 出版的纸质版和电子版。 ? 想要具有互动性的学习体验吗?试试 Rust Book 的另一个版本,其中包括测验、 高亮、可视化等功能:https://rust-book.cs.brown.edu 5/600 Rust 程序设计语言 简体中文版 Rust • 更新到新版的 Rust • 打开本地安装的文档 • 直接通过 rustc 编写并运行 Hello, world! 程序 • 使用 Cargo 创建并运行新项目 是时候通过构建更实质性的程序来熟悉读写 Rust 代码了。所以在第二章我们会构建一个猜猜 看游戏程序。如果你更愿意从学习 Rust 常用的编程概念开始,请阅读第三章,接着再回到第 二章。 22/600 Rust 程序设计语言0 码力 | 600 页 | 12.99 MB | 1 年前3 Rust 程序设计语言简体中文版........................................................................ 463 18.2. Refutability(可反驳性): 模式是否会匹配失效 ...................................................... 468 18.3. 模式语法 ................. 翻译版本。简体中文译本可以在 https://kaisery.github.io/trpl-zh-cn/ 在线 阅读。 本书也有 由 No Starch Press 出版的纸质版和电子版。 ? 想要具有互动性的学习体验吗?试试 Rust Book 的另一个版本,其中包括测验、 高亮、可视化等功能:https://rust-book.cs.brown.edu 5/600 Rust 程序设计语言 简体中文版 Rust • 更新到新版的 Rust • 打开本地安装的文档 • 直接通过 rustc 编写并运行 Hello, world! 程序 • 使用 Cargo 创建并运行新项目 是时候通过构建更实质性的程序来熟悉读写 Rust 代码了。所以在第二章我们会构建一个猜猜 看游戏程序。如果你更愿意从学习 Rust 常用的编程概念开始,请阅读第三章,接着再回到第 二章。 22/600 Rust 程序设计语言0 码力 | 600 页 | 12.99 MB | 1 年前3
 王宜国 - 基于 Rust 编程语⾔构建 Amphitheatre CLI  Desktop  Server 的全平台实践经验戏单(正在测试中的环境) 1 排练(申请环境) 2 替换(切换版本) 3 演出(运⾏) 搭档 适⽤于 29+ 种 编程语⾔ 您可以在⼀个地⽅测量项⽬中所有 语⾔以及领域中所有项⽬的可靠 性、安全性和可维护性。 从语⾔到语⾔,我们为您提供有凝 聚⼒的体验和⼀致的指标集以及数 百条静态代码分析规则。 ⽆需配置环境,⽀持多种编程语⾔和框架 Kayn Sona Redis ETCD Riven Pod、Service 等同样极其简单。 kube-rs: Kubernetes Controller ⼀个典型的控制器(Controller) 即是⼀个反射器(reflector),连 同任意数量的观察者,在内部调谐 事件,通过⼀个调节器发送事件。 GitHub CI Runner 太慢? 基于 Github Actions 构建容器镜像及优化策略 • Dockerfile 多阶段构建,充分利⽤层(Layer)缓存加速能⼒;0 码力 | 34 页 | 10.81 MB | 1 年前3 王宜国 - 基于 Rust 编程语⾔构建 Amphitheatre CLI  Desktop  Server 的全平台实践经验戏单(正在测试中的环境) 1 排练(申请环境) 2 替换(切换版本) 3 演出(运⾏) 搭档 适⽤于 29+ 种 编程语⾔ 您可以在⼀个地⽅测量项⽬中所有 语⾔以及领域中所有项⽬的可靠 性、安全性和可维护性。 从语⾔到语⾔,我们为您提供有凝 聚⼒的体验和⼀致的指标集以及数 百条静态代码分析规则。 ⽆需配置环境,⽀持多种编程语⾔和框架 Kayn Sona Redis ETCD Riven Pod、Service 等同样极其简单。 kube-rs: Kubernetes Controller ⼀个典型的控制器(Controller) 即是⼀个反射器(reflector),连 同任意数量的观察者,在内部调谐 事件,通过⼀个调节器发送事件。 GitHub CI Runner 太慢? 基于 Github Actions 构建容器镜像及优化策略 • Dockerfile 多阶段构建,充分利⽤层(Layer)缓存加速能⼒;0 码力 | 34 页 | 10.81 MB | 1 年前3
 Rust 语言学习笔记可以被归为通用的、多范式、编译型的编程语言,类似 C 或者 C++。与 这两门编程语言不同的是,Rust 是线程安全的! Rust 编程语言的目标是,创建一个高度安全和并发的软件系统。它强调安全性、 并发和内存控制。尽管 Rust 借用了 C 和 C++ 的语法,它不允许空指针和悬 挂指针,二者是 C 和 C++ 中系统崩溃、内存泄露和不安全代码的根源。 Rust 中有诸如 if else Rust 本身可 用于操作系统的开发; 2.Rust 中的一个文件内,可包含多个模块,直接将 a::b::c::d 映射到 a/b/c/d.rs 会引起一些歧义; 3.Rust 一切从安全性、显式化立场出发,要求引用路径中的每一个节点,都是 一个有效的模块,比如上例,d 是一个有效的模块的话,那么,要求 c, b, a 分别都是有效的模块,可单独引用。 1.2.7 prelude 但是需要注意的是,不能因为电脑是 64 位的,而强行将它等同于 64,也就是 说 isize != i64,任何情况下你都需要强制转换。 减少使用 isize 和 usize,因为它会降低代码可移植性。 2.4.2.4 数组 array Rust 的数组是被表示为[T;N]。其中 N 表示数组大小,并且这个大小一定是个 编译时就能获得的整数值,T 表示泛型类型,即任意类型。我们可以这么来声0 码力 | 117 页 | 2.24 MB | 1 年前3 Rust 语言学习笔记可以被归为通用的、多范式、编译型的编程语言,类似 C 或者 C++。与 这两门编程语言不同的是,Rust 是线程安全的! Rust 编程语言的目标是,创建一个高度安全和并发的软件系统。它强调安全性、 并发和内存控制。尽管 Rust 借用了 C 和 C++ 的语法,它不允许空指针和悬 挂指针,二者是 C 和 C++ 中系统崩溃、内存泄露和不安全代码的根源。 Rust 中有诸如 if else Rust 本身可 用于操作系统的开发; 2.Rust 中的一个文件内,可包含多个模块,直接将 a::b::c::d 映射到 a/b/c/d.rs 会引起一些歧义; 3.Rust 一切从安全性、显式化立场出发,要求引用路径中的每一个节点,都是 一个有效的模块,比如上例,d 是一个有效的模块的话,那么,要求 c, b, a 分别都是有效的模块,可单独引用。 1.2.7 prelude 但是需要注意的是,不能因为电脑是 64 位的,而强行将它等同于 64,也就是 说 isize != i64,任何情况下你都需要强制转换。 减少使用 isize 和 usize,因为它会降低代码可移植性。 2.4.2.4 数组 array Rust 的数组是被表示为[T;N]。其中 N 表示数组大小,并且这个大小一定是个 编译时就能获得的整数值,T 表示泛型类型,即任意类型。我们可以这么来声0 码力 | 117 页 | 2.24 MB | 1 年前3
 Comprehensive Rust(简体中文) 202412. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 203 36 日志记录 205 37 互操作性 207 37.1 与 C 的互操作性 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 207 37.1.1 使用 Bindgen 12Building in Android . . . . . . . . . . . . . . . . . . . . . . . . . . . . 216 37.3 与 Java 的互操作性 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 217 38 习题 219 X Chromium 220 39 Testing exercise . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 232 45 与 C++ 的互操作性 233 45.1 绑定示例 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 233 45.20 码力 | 359 页 | 1.33 MB | 10 月前3 Comprehensive Rust(简体中文) 202412. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 203 36 日志记录 205 37 互操作性 207 37.1 与 C 的互操作性 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 207 37.1.1 使用 Bindgen 12Building in Android . . . . . . . . . . . . . . . . . . . . . . . . . . . . 216 37.3 与 Java 的互操作性 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 217 38 习题 219 X Chromium 220 39 Testing exercise . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 232 45 与 C++ 的互操作性 233 45.1 绑定示例 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 233 45.20 码力 | 359 页 | 1.33 MB | 10 月前3
共 38 条
- 1
- 2
- 3
- 4













