Cargo 创建一个新包

您所在的位置:网站首页 鼓浪屿介绍美文50字左右 Cargo 创建一个新包

Cargo 创建一个新包

2024-05-31 20:20| 来源: 网络整理| 查看: 265

创建一个新项目

要使用 Cargo 启动新项目,请使用cargo new:

$ cargo new hello_world --bin

我们传递--bin,是因为我们正在制作一个二进制程序(默认): 如果我们正在创建一个库(lib),我们就会把传递--lib。默认情况下,这个目录会初始化为一个新的git存储库,如果您不希望它这样做,请传递--vcs none。

让我们来看看 Cargo 为我们带来了什么:

$ cd hello_world $ tree . . ├── Cargo.toml └── src └── main.rs 1 directory, 2 files

这就是我们开始所需要的一切首。先让我们看看Cargo.toml:

[package] name = "hello_world" version = "0.1.0" authors = ["Your Name "] edition = "2018" [dependencies]

这被称为一个manifest元清单,它包含了 Cargo 编译项目所需的所有元数据.

那src/main.rs有啥.

fn main() { println!("Hello, world!"); }

Cargo 为我们创造了一个"hello_world".我们来编译它:

$ cargo build Compiling hello_world v0.1.0 (file:///path/to/project/hello_world)

然后运行它:

$ ./target/debug/hello_world Hello, world!

我们也可以直接使用cargo run,它会自行编译,然后运行它, 一步到位:

$ cargo run Fresh hello_world v0.1.0 (file:///path/to/project/hello_world) Running `target/hello_world` Hello, world!

您会注意到已创建了几个新文件和目录:

$ tree . . |-- Cargo.lock |-- Cargo.toml |-- src | `-- main.rs `-- target `-- debug |-- build |-- deps | |-- hello_world-6ad0b2df81336e7f | |-- hello_world-6ad0b2df81336e7f.d | `-- hello_world-6ad0b2df81336e7f.dSYM | `-- Contents | |-- Info.plist | `-- Resources | `-- DWARF | `-- hello_world-6ad0b2df81336e7f |-- examples |-- hello_world |-- hello_world.d |-- hello_world.dSYM -> deps/hello_world-6ad0b2df81336e7f.dSYM |-- incremental | // ... `-- native 15 directories, 19 files

这个Cargo.lock文件啊,是包含我们的依赖项的有关信息(即便还没有依赖),其内容看起来可不是很有趣啊。再有就是target目录包含所有构建产品(二进制文件..),并且,可以看出,Cargo 默认生成调试(debug)版本。您可以使用cargo build --release,这会在开启优化的情况下,编译文件:

$ cargo build --release Compiling hello_world v0.1.0 (file:///path/to/project/hello_world)

cargo build --release将结果二进制文件放入target/release,而不再是target/debug目录.

调试模式的编译是开发的默认设置 - 编译时间较短,因为编译器不进行优化,但代码运行速度较慢。发布(release)模式编译需要更长时间,但代码运行速度更快.



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3