rust学习之基本结构

Rust 语言的包管理工具是 cargo,cargo new 创建一个项目,项目名是 world_hello ,该项目的结构和配置文件都是由 cargo 生成,意味着我们的项目被 cargo 所管理

$ cargo new world_hello
$ cd world_hello

Rust 项目主要分为两个类型:bin 和 lib,前者是一个可运行的项目,后者是一个依赖库项目。cargo 默认就创建 bin 类型的项目。

可以通过cargo run命令编译并运行代码,也可以先执行cargo build —>在执行./target/debug/world_hello,编译后的二进制文件存放在项目路径的./target/debug/目录下,由于编译默认是debug 模式,代码的编译速度会非常快,但运行速度就慢了,因为在 debug 模式下,Rust 编译器不会做任何的优化,只为了尽快的编译完成,开发流程更加顺畅。可以通过添加 --release 参数来指定编译模式,以此提高运行速率。

cargo run --release
cargo build --release

cargo check 命令快速检查代码能否编译通过。

cargo生成的目录结构

d-----         2023/9/20     23:50                src
d-----         2023/9/20     23:52                target
-a----         2023/9/20     23:50              8 .gitignore
-a----         2023/9/20     23:52            152 Cargo.lock
-a----         2023/9/20     23:50            177 Cargo.toml

  • src源代码存放路径,target:生成目标文件路径

  • Cargo.toml 是 cargo 特有的项目数据描述文件。它存储了项目的所有元配置信息,如果 Rust 开发者希望 Rust 项目能够按照期望的方式进行构建、测试和运行,那么,必须按照合理的方式构建 Cargo.toml

  • Cargo.lock 文件是 cargo 工具根据同一项目的 toml 文件生成的项目依赖详细清单,因此我们一般不用修改它,只需要对着 Cargo.toml 文件撸就行了。

  • 当项目是一个可运行的程序时,就上传 Cargo.lock到git仓库,如果是一个依赖库项目,那么就把它添加到 .gitignore 中

 Cargo.toml里主要有package、dependencies字段,package 中记录了项目的描述信息,典型的如下:

[package]

name = "world_hello"

version = "0.1.0"

edition = "2021"

 name 字段定义了项目名称,version 字段定义当前版本,新项目默认是 0.1.0edition 字段定义了我们使用的 Rust 大版本。

dependencies字段主要定义项目依赖。主要通过以下方式来描述各种依赖:

  • 基于 Rust 官方仓库 crates.io,通过版本说明来描述
  • 基于项目源代码的 git 仓库地址,通过 URL 来描述
  • 基于本地项目的绝对路径或者相对路径,通过类 Unix 模式的路径来描述

 [dependencies]

rand = "0.3"

hammer = { version = "0.5.0"}

color = { git = "https://github.com/bjz/color-rs" }

geometry = { path = "crates/geometry" }

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值