Rust 程序设计语言简体中文版...................................................................... 138 7. 使用包、Crate 和模块管理不断增长的项目 ....................................................................... 141 7.1. 包和 Crate ....... 定义模块来控制作用域与私有性 .................................................................................. 144 7.3. 引用模块项目的路径 ............................................................................................... .................................................................................. 266 12. 一个 I/O 项目:构建命令行程序 ...................................................................................... 2720 码力 | 600 页 | 12.99 MB | 1 年前3
Rust 程序设计语言 简体中文版 1.85.0. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 128 7. 使用包、Crate 和模块管理不断增长的项目 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 131 7 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 243 12. 一个 I/O 项目:构建命令行程序 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 289 13.3. 改进之前的 I/O 项目 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .0 码力 | 562 页 | 3.23 MB | 26 天前3
Rust 语言学习笔记的包管理系统中使用了大量的默认约定,很容易使人头昏脑乱。 而在开发中我们又必须建立模块层级系统,rust 给出了如下方案,在给出了一 些模块的最基本规则外,由开发者更大范围地自定义模块的存在。 首先在一个 rust 项目中,首先定义了 crate 和 module。 1.1 Crate 1.crate 编译后会形成一个库(例如.so)或二进制可执行文件。crate 分为两种: lib crate 和 bin 一个包可以带有零个或一个 lib crate 和任意多个 bin crate。一个包中必 须有 crate,至少一个,(lib crate 或 bin crate 都可以) 3.通常写 rust 项目时非常依赖 crate,很多重要的信息都是配置在 cargo.toml 文件中,不仅仅包括 lib 和 crate 的入口文件,后面还有很多的 attribute。 4.rust 对于 crate 官方参考了现有语言管理工具的优点,于是就产生了 cargo。主要是为了 减少复杂的项目管理配置参数。cargo 工具是官方正统出身。 在 cargo.toml 中不配置唯一的 lib crate 和 bin crate name 的话,会自动去 根据 package 进行命名。 约定的补充: cargo.toml 和 cargo.lock 文件总是位于项目根目录下。 源代码位于 src 目录下。 默认的库入口文件是0 码力 | 117 页 | 2.24 MB | 1 年前3
Comprehensive Rust(简体中文) 202412编译器,可将 .rs 文件转换为二进制文件和其他中间格式。 • cargo:Rust 依赖项管理器和构建工具。Cargo 知道如何下载托管在 https://crates.io 上的依赖 项, 并在构建项目时将它们传递给 rustc。Cargo 还附带一个内置的测试运行程序,用于执行单元 测试。 • rustup:Rust 工具链安装和更新工具。当 Rust 发布新版本时,此工具用于安装并更新 rustc 请注意,不借助 cargo 直接使用编译器的情况相当少见(大多数用户从不这样做)。 – 值得一提的是,Cargo 本身就是一个功能强大且全面的工具。它能够实现许多高级功能,包括 但不限于: * 项目/软件包结构 * 工作区 * 开发依赖和运行时依赖管理/缓存 * 构建脚本 * 全局安装 * 它还可以使用子命令插件(例如 cargo clippy)进行扩展。 – 详情请参阅 官方 Cargo Book 使用 cargo check 快速检查项目是否存在错误;使用 cargo build 只进行编译,而不运行。你 可以在 target/debug/ 中找到常规调试 build 的输出。使用 cargo build --release 在 target/release/ 中生成经过优化的 发布 build。 7. 可以通过修改 Cargo.toml 为项目添加依赖项。当运行 cargo 命令时,系统会自动下载和编译缺0 码力 | 359 页 | 1.33 MB | 10 月前3
秘猿先锋-文愿-Axon 应用链框架的 Rust 开发实践Who am I ? 目录 1. Axon 简介 2. 大型 Rust 项目应用 Adapter 模式 3. 使用过程宏的监控埋点开发实践 4. 区块链间互操作性的实现 目录 1. Axon 简介 2. 大型 Rust 项目应用 Adapter 模式 3. 使用过程宏的监控埋点开发实践 4. 区块链间互操作性的实现 1. 应用链框架 互操作(Interoperability) 4. EVM 兼容 5. Rust What is Axon What is Axon 目录 1. Axon 简介 2. 大型 Rust 项目应用 Adapter 模式 3. 使用过程宏的监控埋点开发实践 4. 区块链间互操作性的实现 1. Mempool(交易池) 2. Consensus (Overlord) 3. P2P (Tentacle) 升级和改进 • 可扩展性 • 高性能 • 高并发 • 高可靠性 • 代码管理 • … 大型项目的开发难点 ■ 抽象 ■ 便于协作开发 ■ 易于测试 优点 Mempool Traits 实现 实现 测试代码 目录 1. Axon 简介 2. 大型 Rust 项目应用 Adapter 模式 3. 使用过程宏的监控埋点开发实践 4. 区块链间互操作性的实现 • 直接调用0 码力 | 32 页 | 3.63 MB | 1 年前3
硬件创业公司的Rust应用和转型 - 陈昱衡全自动脑立体定位仪(在研) 电机控制移动 传感器精度增到100nm 远程控制 自动运行 关注逻辑本身不用过分关心内存安全 嵌入式项目评估 Rust物联网不足 解决方案:屏幕上云 冷热板刺激仪 老项目评估 新项目评估 简单工期长,探索型项目优先选择Rust 糖水偏好仪 尾部打标机 已经立项 UI端Rust应用 UI 端 Rust 桌面端 平板端 嵌入式端0 码力 | 23 页 | 4.95 MB | 1 年前3
洛佳 组件化驱动、ROM运行环境与RustSBI本次演讲…… 关于我…… • 笔名洛佳 • 华中科技大学网络空间安全学院研一 在读(导师:周威老师) • 研究方向:物联网安全、系统安全 • 热爱开源,乐于尝试新技术 • RustSBI项目维护者 • 致力于向科研、教学和产业界推广 Rust语言 汲取Rust嵌入式和操作系统生态经验,总 结而成的新一代驱动开发方法。动、静态 基地址结合,高灵活性;一次开发,同时 复用于嵌入式、固件和内核中。 的宿主态,此时RustSBI实现应为虚 拟机提供电源、核管理等功能。 • 嵌套虚拟化存在时,RustSBI实现应 当为内部虚拟机软件模拟H指令集。 在这方面,Dramforever的项目1提 供了很好的例子。 • LARVa2项目是固件充当模拟器的例 子,这里RustSBI被编译到RISC-V之 外的指令集。 • YdrMaster设计的sbi-testing3测试 框架可轻松检查SBI实现的正确性。 向量化陷入:硬件取向量,分流mtime、msoft等中断 过程和异常过程,进一步细化通路,明确上下文保存 需求 • 不同等级的上下文保存到不同结构体中,地址存于突 发寄存器,快速处理程序可为完整处理程序提供参数 • 项目地址:https://github.com/YdrMaster/fast- trap 示例:RustSBI原型设计系统选型界面 RustSBI与生态后续引导链 • 对RISC-V UEFI,RustSBI准备好SBI0 码力 | 21 页 | 3.12 MB | 1 年前3
新一代分布式高性能图数据库的构建 - 沈游人化 应用”项目,斩获“科学技术奖科技进步一等奖”,这也是国内电子信 息领域的最高奖项。 该奖项由数十名院士评审,历经三轮,从三百余个申报项目中遴选 而出。由院士等组成的科技成果鉴定委员会认为:“该成果技术复杂 度高,研制难度大,创新性强,项目成果整体达到国际先进水平, 其中异质图建模与表示学习技术和超大规模图学习系统处于国际领 先水平。” 以终为始,以行为知,这一项目从图计算所面临的挑战出发,解决了大规模图数据所产生0 码力 | 38 页 | 24.68 MB | 1 年前3
简谈 Rust 与国密 TLS - 王江桐的严重错误中,只有 3.57% - 11.11% 的漏洞是密码学相关,意味着其他的 漏洞更多出自系统内存错误以及其他分类; • 密码系统问题发现时间长,中位数为4.18年; • 大型的C/C++项目很难保证代码安全性; • 以 OpenSSL 为例,平均每1000行代码就会引入一个攻击点,具有安全漏洞。 密码系统实现的潜在问题 Potential Problems of Cryptography • 谷歌等多个公司级项目调研: • 内存问题居多 • 谷歌: Chromium项目中,70%的安全问题是内存安全问题,非安全的bug根错误也与此相同; 90%的安卓漏洞是内存安全问题; • 苹果:iOS和macOS中60-70%的漏洞是内存安全漏洞; • 总体来说,80%被利用的漏洞是内存安全问题相关的漏洞; • 密码系统问题发现时间长 • 谷歌: Chromium项目中,超过50%的安0 码力 | 44 页 | 3.70 MB | 1 年前3
Rust分布式账务系统 - 胡宇第三届中国 Rust 开发者大会 Rust 构建分布式账务系统 在 Fintech 公司落地 Rust 项目的经验分享 Airwalle x 胡宇 Airwallex 我们是一家跨境支付领域的 Fintech 独角兽 关于我们 E2 轮 Fintech 独角兽,业务遍布全球 关于我们: Airwallex 墨尔本 新加坡 伦敦 深圳 香港 北京 旧金山 上海 东京 阿姆斯特丹 西安 马来西亚 币种 50+ 国家 130+ 办公地点 19 1300+ 员工 提供高效,低成本的数字银行服务 关于我们: Airwallex 从设计架构到实现细节 项目介绍 分布式账务系统 Fintech 互联网 正确性 bug= 资损 bug 不可怕,快速迭代 可靠性 丢数据 = 资损 允许数据丢失 性能 超低延迟 + 高吞吐 超高吞吐 交易日志 审计,监管 com/t/auticuro-users/shared_invi te/zt-1vt740po2-N3QkEdBfa~afeETv8G2jjQ 分布式账务系统 第一个吃螃蟹的人从招聘到上线的干货 心路历程 落地第一个 Rust 项目 磨刀霍霍 – 技术选型 心路历程 ● 对新技术持开放态度 ● Kotlin :简洁, JVM, GC ● Rust 引入 Linux 内核 ● Android 支持 Rust ● 积极探索新技术对金融科技的改变0 码力 | 27 页 | 12.60 MB | 1 年前3
共 20 条
- 1
- 2













