当前位置: 首页 > article >正文

【Rust练习】26.Package and Crate

练习题来自:https://practice-zh.course.rs/crate-module/crate.html

建议在命令行下操作完成本节内容,Windows 11/10 首选 Windows 终端,好看,支持渲染中文字体,缺点是功能太少了;其次推荐 mobaxterm,除了难看没别的缺点,功能强大。

1

🌟 创建一个 package,拥有以下目录结构:

.
├── Cargo.toml
└── src
    └── main.rs

1 directory, 2 files
# in Cargo.toml
[package]
name = "hello-package"
version = "0.1.0"
edition = "2021"

最基本的创建

cargo new hello-package

创建完成

2

🌟 创建一个 package,拥有以下目录结构:

.
├── Cargo.toml
└── src
    └── lib.rs

1 directory, 2 files
# in Cargo.toml
[package]
name = "hello-package1"
version = "0.1.0"
edition = "2021"

这是一个库的Package(我不知道怎么表达,反正大概这个意思)

cargo new hello-package2 --lib

3

/* 使用你的答案填空 */

// Q: package 1# 和 2# 的区别是什么 ?
// A: 1是一个正常的Rust Package,2是一个库

4

/* 填空 */

// Q: package `hello-package1` 中的库包名称是?
// A: hello-package1

5

🌟🌟 为 hello-package 添加一个库包,并且完成以下目录结构的填空:

# 填空
.
├── Cargo.lock
├── Cargo.toml
├── src
│   ├── main.rs
│   └── lib.rs

新增一个库crate

6

🌟🌟🌟 一个 package 最多只能包含一个库包,但是却可以包含多个二进制包:通过将二进制文件放入到 src/bin 目录下实现: 该目录下的每个文件都是一个独立的二进制包,包名与文件名相同,不再与 package 的名称相同。

# 创建一个 a package 包含以下包: 
# 1. 三个二进制包: `hello-package`, `main1` and `main2`
# 2. 一个库包
# 并完成以下目录结构的填空
.
├── Cargo.toml
├── Cargo.lock
├── src
│   ├── main.rs
│   ├── lib.rs
│   └── bin
│       └── main1.rs
│       └── main2.rs
├── tests # 存放集成测试文件的目录
│   └── some_integration_tests.rs
├── benches # 存放 benchmark 文件的目录dir for benchmark files
│   └── simple_bench.rs
└── examples # 存放示例文件的目录
    └── simple_example.rs

在上面项目的基础上继续创建即可
新建的crate


http://www.kler.cn/a/466457.html

相关文章:

  • 小结:DNS,HTTP,SMTP,IMAP,FTP,Telnet,TCP,ARP,ICMP
  • 专家混合(MoE)大语言模型:免费的嵌入模型新宠
  • React虚拟DOM:理解和应用
  • npm install --global windows-build-tools --save 失败
  • 消息中间件类型都有哪些
  • ‘元素.style.样式名‘获取不到样式,应该使用Window.getComputedStyle()获取正真的样式
  • 深入理解 Java Set 集合:原理、应用与高频面试题解析
  • 图片转三维模型网站(免费),AI建模,一键把图片转三维模型,二维图片转3维模型,AI建模
  • 用python编写一个放烟花的小程序
  • 机器学习笔记——正则化
  • Entity Framework Core介绍
  • React第二十一章(useCallback)
  • Kafka 快速实战及基本原理详解解析-01
  • Ubuntu Server安装谷歌浏览器
  • 多模态论文笔记——Coca
  • MATLAB中dbstack函数用法
  • 【pyqt】(四)Designer布局
  • 根据 el-dialog 的高度动态计算 el-table 的高度
  • 常规继承类对象大小
  • Cause: java.sql.SQLException: sql injection violation, comment not allow异常问题处理
  • 【MySQL基础篇】三、表结构的操作
  • 最新MySQL面试题(2025超详细版)
  • 【GeekBand】C++设计模式笔记22_Chain of Responsibility_职责链
  • AWS Lambda基础知识
  • 【Vue】分享一个快速入门的前端框架以及如何搭建
  • 非docker方式部署openwebui过程记录