Rust 语言学习笔记
...... 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 年前3Rust 程序设计语言简体中文版
的内容 ............................................................................... 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 年前3Comprehensive Rust(简体中文) 202412
. . . . . . . . . . . . . 237 46 添加第三方 Crate 238 46.1 配置 Cargo.tom 文件以添加 crate . . . . . . . . . . . . . . . . . . . . . . . . . 238 46.2 配置 gnrt_config.toml . . . . . . . . . . . . . . . . . . . . 这将为你提供 Cargo 构建工具 (cargo) 和 Rust 编译器 (rustc)。你还将获得 rustup,这是一个命令 行实用程序, 你可以用它来安装不同的编译器版本。 安装 Rust 之后,你应当配置你的编辑器或 IDE 以开始使用 Rust。大多数编辑器使用了 rust-analyzer。 它为 VS Code、Emacs、Vim/Neovim 及其他许多编辑器提供了自动补全及定义跳转的功能。同样也可 cargo clippy)进行扩展。 – 详情请参阅 官方 Cargo Book 2.2 本培训中的代码示例 在本培训中,我们将主要通过示例探索 Rust 语言,这些示例可以通过浏览器执行。这能大大简化配置过 程,并确保所有人都能获得一致的体验。 我们仍然建议你安装 Cargo:它有助于你更轻松地完成练习。在最后一天,我们要做一个综合的练习,向 你展示如何使用依赖项,因此你需要安装 Cargo。 本课程中的代码块是完全交互式的:0 码力 | 359 页 | 1.33 MB | 10 月前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 | 9 天前3王宜国 - 基于 Rust 编程语⾔构建 Amphitheatre CLI Desktop Server 的全平台实践经验
即可实时部署到云端 进⾏测试和验收 上线 利⽤ Amphitheatre 配置⽂ 件, 执⾏标准 CI/CD ⼯ 作流,轻松发布! 开发⼯程师需要在本机安装各种编程语⾔的运⾏时和相关的框 架以及库,随着业务规模的增⻓,多语⾔多版本的维护和管理 变得越来越复杂。 技术栈杂多 研发流程⻓达⼗⼏个步骤:安装开发软件、配置环境、克隆代 码、开发、本地调试、提交代码、编译构建、⾃动化测试、部 署到测 署到测试环境、测试验收、合并代码到主线、部署到⽣产环 境… 研发流程繁⻓ 起因:开发者之痛 为了部署测试,不仅要学习容器化、Kubernetes,还要申请资 源安装配置各项中间件,学习成本⾼,费⼼费⼒ 复杂的基础设施 Build Test Code Deploy Release Test Integrate Push Inner Loop Outer Loop 戏单(正在测试中的环境) 编程语⾔ 您可以在⼀个地⽅测量项⽬中所有 语⾔以及领域中所有项⽬的可靠 性、安全性和可维护性。 从语⾔到语⾔,我们为您提供有凝 聚⼒的体验和⼀致的指标集以及数 百条静态代码分析规则。 ⽆需配置环境,⽀持多种编程语⾔和框架 Kayn Sona Redis ETCD Riven Event Account Project Activity Tariq Share NS 10 码力 | 34 页 | 10.81 MB | 1 年前3Comprehensive Rust(繁体中文)
that don't depend on libc, allocator or even the presence of an operating system. • alloc 包括需要全域堆積配置器的型別,例如 Vec、Box 和 Arc。 • 嵌入式 Rust 應用程式通常只使用 core,偶爾會使用 alloc。 16.2 說明文件測試 Rust 說明文件的主題涵蓋甚廣,包括: • help functional- style programming. • Result 是實作錯誤處理的標準型別,我們將在第 3 天的課程中介紹。 16.5 String String 是標準堆積配置的可成長 UTF-8 字串緩衝區: fn main() { let mut s1 = String::new(); s1.push_str("Hello"); println!("s1: len Display, so anything that can be formatted can also be converted to a string. 16.6 Vec Vec 是可調整大小的標準堆積配置緩衝區: fn main() { let mut v1 = Vec::new(); v1.push(42); println!("v1: len = {}, capacity = {}", v10 码力 | 358 页 | 1.41 MB | 10 月前3Comprehensive Rust(繁体中文) 202406
that don't depend on libc, allocator or even the presence of an operating system. • alloc 包括需要全域堆積配置器的型別,例如 Vec、Box 和 Arc。 • 嵌入式 Rust 應用程式通常只使用 core,偶爾會使用 alloc。 16.2 說明文件測試 Rust 說明文件的主題涵蓋甚廣,包括: • help functional- style programming. • Result 是實作錯誤處理的標準型別,我們將在第 3 天的課程中介紹。 16.5 String String 是標準堆積配置的可成長 UTF-8 字串緩衝區: fn main() { let mut s1 = String::new(); s1.push_str("Hello"); println!("s1: len Display, so anything that can be formatted can also be converted to a string. 16.6 Vec Vec 是可調整大小的標準堆積配置緩衝區: fn main() { let mut v1 = Vec::new(); v1.push(42); println!("v1: len = {}, capacity = {}", v10 码力 | 356 页 | 1.41 MB | 1 年前3洛佳 组件化驱动、ROM运行环境与RustSBI
联合所有权、泛型等,暴露外设所有功能 外 设 及 其 寄 存 器 表 示 封装寄存器、位域表示和数据结构 分享性外设:以GPIO为例 • 从前级环境获取所有权,如从ROM 运行环境的#[entry]获得; • 配置GPIO状态后,只有对应外设类 型允许的操作函数能通过编译,否则 拒绝编译,避免不安全行为; • 开源标准抽象的功能,使用抽象规定 的调用方法。本芯片外设专属的功能 也可通过专有函数使用; 初始化bss段、data段, 加载栈寄存器,构成高级 语言运行的最小环境 生成镜像结构 外设和时钟 提供具备所有权的外设 列表,提供ROM初始化 完成的时钟配置 编译时生成镜像头,通 常包含处理器配置、时 钟和闪存配置等部分 #[entry] 过程宏 • 过程宏是卫生宏,完成语法树间的转 换,此处用于将main函数转换为固 件需要的入口函数。 • 包含ABI转换、检查参数等步骤。0 码力 | 21 页 | 3.12 MB | 1 年前3KCL: Rust 在编译器领域的实践与探索
KusionStack是什么? KusionStack架构 KCL KusionStack 是什么? KusionStack 是开源的云原生可编程技术栈! 1. 围绕现代应用程序交付以及使用 OCI 镜像对配置和策略进 行编码和统一 2. 组织应用程序资源,并在整个交付过程中通过身份确保安 全 3.为 Kubernetes 和云精简应用交付工作流,并提供开发友 好的体验 基于 Platform as Code 交付工作 流程,真正实现集中定义、随处交付。 KusionStack 架构 • KCL:面向应用研发者的 配置策略专用高级编程语 言,及其协议组,工具链及 IDE 插件 • Kusion:运维引擎、工具 链、服务层,IDE 工作空间 及社区技术集成套件 • Konfig:应用配置及基础 模型共享仓库,及面向 GitOps 工作流程(如 GitHub Actions)的自定义 CI 套件0 码力 | 25 页 | 3.50 MB | 1 年前3Comprehensive Rust(日语) 202412
スタックよりやや低速で、何らかののブックキーピングが必要です。 – メモリの局所性が保証されません。 例 String を作成すると、スタックには固定サイズのメタデータが配置され、ヒープにはサイズが動的に 決定されるデータ(実際の文字列)が配置されます。 109 fn main() { let s1 = String::from("Hello"); } Stack .- - - - - - - - harvest(garden: &mut Garden) { todo!() } • Rust 2018 より前では、モジュールを module.rs ではなく module/mod.rs に配置する必要 がありました。これは 2018 以降のエディションでも依然としてサポートされています。 • filename/mod.rs の代わりに filename.rs が導入された主な理由は、mod 変更できます。 mod some_module; 158 これは、たとえば Go でよく行われているように、some_module_test.rs という名前のファ イルにモジュールのテストを配置する場合に便利です。 26.3 可視性 モジュールはプライバシーの境界です。 • モジュールアイテムはデフォルトでプライベートです(実装の詳細は表示されません)。 • 親アイテムと兄弟アイテムは常に見えます。0 码力 | 381 页 | 1.36 MB | 10 月前3
共 18 条
- 1
- 2