Rust 程序设计(第 2 版)
Jim Blandy, Jason Orendorff, Leonora F. S. Tindall
软件工程师
1469 人已学习
立即订阅
登录后,你可以任选4讲全文学习
推荐试读
换一换
课程目录
已完结/共 41 讲
时长 02:41
时长 06:30
时长 10:04
时长 01:05
时长 50:06
时长 31:35
时长 34:39
时长 29:11
时长 37:15
时长 23:44
时长 44:19
时长 29:54
时长 39:01
时长 01:38
时长 01:15
时长 00:37
Rust 程序设计(第 2 版)
15
15
1.0x
00:00/00:00
登录|注册

第 8 章 crate 与模块(1)

这是 Rust 主题下的小小理念之一:系统程序员也能享受美好。
——Robert O'Callahan,“Random Thoughts on Rust: crates.io and IDEs”
假设你正在编写一个程序,用来模拟蕨类植物从单个细胞开始的生长过程。你的程序,也像蕨类植物一样,一开始会非常简单,所有的代码也许都在一个文件中——这只是想法的萌芽。随着成长,它将开始分化出内部结构,不同的部分会有不同的用途。然后它将分化成多个文件,可能遍布在各个目录中。随着时间的推移,它可能会成为整个软件生态系统的重要组成部分。对于任何超出几个数据结构或几百行代码的程序,进行适当的组织都是很有必要的。
本章介绍了 Rust 的一些特性(crate 与模块),这些特性有助于你的程序保持井井有条。我们还将涵盖其他与 Rust crate 的结构和分发有关的主题,包括如何记录与测试 Rust 代码、如何消除不必要的编译器警告、如何使用 Cargo 管理项目依赖项和版本控制、如何在 Rust 的公共 crate 存储库 crates.io 上发布开源库、Rust 如何通过语言版本进行演进等。本章将使用蕨类模拟器作为运行示例。
确认放弃笔记?
放弃后所记笔记将不保留。
新功能上线,你的历史笔记已初始化为私密笔记,是否一键批量公开?
批量公开的笔记不会为你同步至部落
公开
同步至部落
取消
完成
0/2000
荧光笔
直线
曲线
笔记
复制
AI
  • 深入了解
  • 翻译
    • 英语
    • 中文简体
    • 中文繁体
    • 法语
    • 德语
    • 日语
    • 韩语
    • 俄语
    • 西班牙语
    • 阿拉伯语
  • 解释
  • 总结

Rust 中的 crate 和模块在程序组织和依赖管理中扮演着重要角色。本文以模拟蕨类植物生长过程的程序为例,阐述了程序规模增大时合理的组织结构的重要性。通过介绍 Rust crate 的结构和分发相关主题,包括记录、测试、消除编译器警告、使用 Cargo 管理项目依赖和版本控制,读者可以了解如何利用 Rust 的特性来保持程序的整洁和有序。文章还介绍了使用 Cargo 构建项目时的依赖管理过程,以及版本兼容性保证的重要性。通过对 crate 的依赖图和传递依赖的自动处理,Cargo 能够显著节省程序员的时间和精力。此外,文章还介绍了 Rust 语言版本的管理和迁移,以及如何使用配置文件和嵌套模块来组织代码。总的来说,本文通过实例和技术细节,向读者展示了 Rust 中程序组织和依赖管理的重要性,以及如何利用 Rust 的特性来实现高效的开发和维护。文章还介绍了将程序变成库的步骤,以及如何将现有项目分为库 crate 和可执行文件,以便共享基本的代码。文章还介绍了 Rust 程序中的属性,如 <code>#[cfg]</code> 和 <code>#[allow]</code>,以及如何使用 <code>#[inline]</code> 进行微观管理。

仅可试看部分内容,如需阅读全部内容,请付费购买文章所属专栏
《Rust 程序设计(第 2 版)》
立即购买
登录 后留言

精选留言

由作者筛选后的优质留言将会公开显示,欢迎踊跃留言。
收起评论
显示
设置
留言
收藏
沉浸
阅读
分享
手机端
快捷键
回顶部