Rust 程序设计语言简体中文版
的内容 ............................................................................... 349 14.1. 采用发布配置自定义构建 ........................................................................................... 350 (Tom’s Obvious, Minimal Language) 格式,这是 Cargo 配置文件的格式。 第一行,[package] ,是一个片段(section)标题,表明下面的语句用来配置一个包。随着我 们在这个文件增加更多的信息,还将增加其他片段(section)。 接下来的三行设置了 Cargo 编译程序所需的配置:项目的名称、项目的版本以及要使用的 Rust 版本。附录 E 会介绍 edition 1-1!目前为止,我们 的项目与 Cargo 生成项目的区别是 Cargo 将代码放在 src 目录,同时项目根目录包含一个 Cargo.toml 配置文件。 Cargo 期望源文件存放在 src 目录中。项目根目录只存放 README、license 信息、配置文件 和其他跟代码无关的文件。使用 Cargo 帮助你保持项目干净整洁,一切井井有条。 如果没有使用 Cargo 开始项目,比如我们创建的 Hello0 码力 | 600 页 | 12.99 MB | 1 年前3Rust 程序设计语言 简体中文版 1.85.0
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 300 14.1. 采用发布配置自定义构建 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Rust 中文社区翻译。 本书的当前版本假设你使用 Rust 1.85.0(2025-02-17 发布)或更高版本并在所有项目的 Cargo.toml 文件中通过 edition = "2024"将其配置为使用 Rust 2024 edition 惯用法。请查 看第一章的 “安装” 部分了解如何安装和升级 Rust。 本书的英文原版 HTML 格式可以在 https://doc.rust-lang (Tom’s Obvious, Minimal Language) 格式,这是 Cargo 配置文件的格式。 第一行,[package],是一个片段 section 标题,表明下面的语句用来配置一个包。随着我们 在这个文件增加更多的信息,还将增加其他 section。 接下来的三行设置了 Cargo 编译程序所需的配置:项目的名称、项目的版本以及要使用的 Rust 版本。附录 E 会介绍 edition0 码力 | 562 页 | 3.23 MB | 11 天前3Comprehensive Rust(简体中文) 202412
. . . . . . . . . . . . . . . . . . . . . . . 181 IX Android 185 31 欢迎来到 Android 中的 Rust 186 32 设置 187 33 构建规则 188 33.1 Rust 二进制文件 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 217 38 习题 219 X Chromium 220 39 Welcome to Rust in Chromium 221 40 设置 222 41 Chromium 和 Cargo 的生态对比 224 42 Chromium Rust 政策 226 43 Build rules 227 43.1 Including unsafe . . . . . . . . . . . . . 237 46 添加第三方 Crate 238 46.1 配置 Cargo.tom 文件以添加 crate . . . . . . . . . . . . . . . . . . . . . . . . . 238 46.2 配置 gnrt_config.toml . . . . . . . . . . . . . . . . . . . .0 码力 | 359 页 | 1.33 MB | 10 月前3Rust 语言学习笔记
...... 52 4.3.8 trait 定义中的生命周期和可变性声明 ........................................ 52 第五章 属性与 Cargo 配置 ......................................................................... 53 5.1 属性 ............ cargo 参数配置 ............................................................................ 57 5.2.1 package 配置 ...................................................................... 57 5.2.2 依赖的详细配置: ... ............................................................. 58 5.2.3 自定义编译器配置 ................................................................ 58 5.2.4 feature 段落................................0 码力 | 117 页 | 2.24 MB | 1 年前3Hello 算法 1.1.0 Rust版
是找一台计算机,运行这两个算法,并监控记录它们的运行时间和内存占用情况。这种评估方式能够反映真 实情况,但也存在较大的局限性。 一方面,难以排除测试环境的干扰因素。硬件配置会影响算法的性能。比如在某台计算机中,算法 A 的运行 时间比算法 B 短;但在另一台配置不同的计算机中,可能得到相反的测试结果。这意味着我们需要在各种机 器上进行测试,统计平均效率,而这是不现实的。 另一方面,展开完整测试非常耗费资源。 者的优劣并根据情境选择合适的方 法至关重要。 2.3 时间复杂度 运行时间可以直观且准确地反映算法的效率。如果我们想准确预估一段代码的运行时间,应该如何操作呢? 1. 确定运行平台,包括硬件配置、编程语言、系统环境等,这些因素都会影响代码的运行效率。 2. 评估各种计算操作所需的运行时间,例如加法操作 + 需要 1 ns ,乘法操作 * 需要 10 ns ,打印操作 print() 需要 字节的字符,将最高位设置为 0 ,其余 7 位设置为 Unicode 码点。值得注意的是,ASCII 字符在 Unicode 字符集中占据了前 128 个码点。也就是说,UTF‑8 编码可以向下兼容 ASCII 码。这 意味着我们可以使用 UTF‑8 来解析年代久远的 ASCII 码文本。 ‧ 对于长度为 ? 字节的字符(其中 ? > 1),将首个字节的高 ? 位都设置为 1 ,第 ? + 10 码力 | 388 页 | 18.50 MB | 1 年前3Hello 算法 1.0.0 Rust版
是找一台计算机,运行这两个算法,并监控记录它们的运行时间和内存占用情况。这种评估方式能够反映真 实情况,但也存在较大的局限性。 一方面,难以排除测试环境的干扰因素。硬件配置会影响算法的性能。比如在某台计算机中,算法 A 的运行 时间比算法 B 短;但在另一台配置不同的计算机中,可能得到相反的测试结果。这意味着我们需要在各种机 器上进行测试,统计平均效率,而这是不现实的。 另一方面,展开完整测试非常耗费资源。 者的优劣并根据情境选择合适的方 法至关重要。 2.3 时间复杂度 运行时间可以直观且准确地反映算法的效率。如果我们想准确预估一段代码的运行时间,应该如何操作呢? 1. 确定运行平台,包括硬件配置、编程语言、系统环境等,这些因素都会影响代码的运行效率。 2. 评估各种计算操作所需的运行时间,例如加法操作 + 需要 1 ns ,乘法操作 * 需要 10 ns ,打印操作 print() 需要 字节的字符,将最高位设置为 0 ,其余 7 位设置为 Unicode 码点。值得注意的是,ASCII 字符在 Unicode 字符集中占据了前 128 个码点。也就是说,UTF‑8 编码可以向下兼容 ASCII 码。这 意味着我们可以使用 UTF‑8 来解析年代久远的 ASCII 码文本。 ‧ 对于长度为 ? 字节的字符(其中 ? > 1),将首个字节的高 ? 位都设置为 1 ,第 ? + 10 码力 | 383 页 | 17.61 MB | 1 年前3Hello 算法 1.2.0 简体中文 Rust 版
法的效率。最直接的方法 是找一台计算机,运行这两个算法,并监控记录它们的运行时间和内存占用情况。这种评估方式能够反映真 实情况,但也存在较大的局限性。 一方面,难以排除测试环境的干扰因素。硬件配置会影响算法的性能表现。比如一个算法的并行度较高,那 么它就更适合在多核 CPU 上运行,一个算法的内存操作密集,那么它在高性能内存上的表现就会更好。也 就是说,算法在不同的机器上的测试结果可能是 者的优劣并根据情境选择合适的方 法至关重要。 2.3 时间复杂度 运行时间可以直观且准确地反映算法的效率。如果我们想准确预估一段代码的运行时间,应该如何操作呢? 1. 确定运行平台,包括硬件配置、编程语言、系统环境等,这些因素都会影响代码的运行效率。 2. 评估各种计算操作所需的运行时间,例如加法操作 + 需要 1 ns ,乘法操作 * 需要 10 ns ,打印操作 print() 需要 字节的字符,将最高位设置为 0 ,其余 7 位设置为 Unicode 码点。值得注意的是,ASCII 字符在 Unicode 字符集中占据了前 128 个码点。也就是说,UTF‑8 编码可以向下兼容 ASCII 码。这 意味着我们可以使用 UTF‑8 来解析年代久远的 ASCII 码文本。 ‧ 对于长度为 ? 字节的字符(其中 ? > 1),将首个字节的高 ? 位都设置为 1 ,第 ? + 10 码力 | 387 页 | 18.51 MB | 10 月前3洛佳 组件化驱动、ROM运行环境与RustSBI
联合所有权、泛型等,暴露外设所有功能 外 设 及 其 寄 存 器 表 示 封装寄存器、位域表示和数据结构 分享性外设:以GPIO为例 • 从前级环境获取所有权,如从ROM 运行环境的#[entry]获得; • 配置GPIO状态后,只有对应外设类 型允许的操作函数能通过编译,否则 拒绝编译,避免不安全行为; • 开源标准抽象的功能,使用抽象规定 的调用方法。本芯片外设专属的功能 也可通过专有函数使用; 初始化bss段、data段, 加载栈寄存器,构成高级 语言运行的最小环境 生成镜像结构 外设和时钟 提供具备所有权的外设 列表,提供ROM初始化 完成的时钟配置 编译时生成镜像头,通 常包含处理器配置、时 钟和闪存配置等部分 #[entry] 过程宏 • 过程宏是卫生宏,完成语法树间的转 换,此处用于将main函数转换为固 件需要的入口函数。 • 包含ABI转换、检查参数等步骤。 RISC-V并未强制规定陷入栈的内容,它的上下文切换 过程可定制,若给予上下文切换更多的信息,它的性 能就可得到进一步提升 • 上下文调用时先保存部分寄存器,让高级语言判断是 否进入完整流程,或给定需要设置的寄存器数量 • 尽量减少上下文切换对空间局部性的破坏 • 向量化陷入:硬件取向量,分流mtime、msoft等中断 过程和异常过程,进一步细化通路,明确上下文保存 需求 • 不同等级的上下文保存到不同结构体中,地址存于突0 码力 | 21 页 | 3.12 MB | 1 年前3刘用涛 CnosDB时序数据库的Rust实践
横/纵 向扩展 • 计算存储分离 • 平衡存储性能与成本 • 查询引擎支持矢量化查询 • 兼容多种时序协议 • 可观测性 • 支持云原生 • 原生支持多租户 • 租户Quota可动态配置 • 云边端协同 • 云上生态融合 整体架构 1.2 存储引擎 version_set Vnode IndexEngine DataEngine cache imcache 2. Rust编译工具链 rustup target add $target, --target=$rustc_target 3. 配置链接器 -C linker=$gcc_prefix-gcc 指示rustc采用的C链接器程序 cross 提供了 “零设置” 的交叉编译 rust crate 它提供了一个环境、交叉工具链和交叉编译库,可以生成最便携的二进制文件 3.4 Rust0 码力 | 26 页 | 3.28 MB | 1 年前3简谈 Rust 与国密 TLS - 王江桐
Protocols Rust China Conf 2022 – 2023, Shanghai, China • 提供通用 / 国密 / 混合 TLS 实现; • TLS 配置结构图,从 SetCipher 开始,增 加国密/通用/混合设置接口,并校验已有配 置,预先告警,避免错误。 使用 Rust 实现国密 TLS Use Rust to Implement Shangmi Protocols Rust0 码力 | 44 页 | 3.70 MB | 1 年前3
共 22 条
- 1
- 2
- 3