Bootstrap

【Rust自学】14.1. cargo:发布配置

喜欢的话别忘了点赞、收藏加关注哦(加关注即可阅读全文),对接下来的教程有兴趣的可以关注专栏。谢谢喵!(=・ω・=)
请添加图片描述

14.1.1. release profile

release profile是发布配置的意思,它是一系列预定好的配置方案。而且它是可自定义的,我们可以自定义它,使用不同的配置,从而让程序员对代码的编译有更多的控制权。

每个profile就是每个配置档案,独立于其它的profile。

在cargo里主要有两个profile:

  • dev profile:适用于开发、cargo build
  • release profile:适用于发布、cargo build --realse

使用cargo buildcargo build --realse指令会使用两个不同的配置文件:

$ cargo build
    Finished dev [unoptimized + debuginfo] target(s) in 0.0s
$ cargo build --release
    Finished release [optimized] target(s) in 0.0s

14.1.2. 自定义profile

针对每个profile, cargo都提供了默认的配置。

如果想要自定义配置(不论是dev profile还是release profile),可以在Cargo.toml里添加[profile.xxxx]区域,在里面覆盖默认配置的子集,通常我们不会覆盖所有的选项,只需要覆盖那些想修改的配置。

看个例子:

[profile.dev]
opt-level = 0

[profile.release]
opt-level = 3

opt-level设置控制 Rust 将应用于您的代码的优化数量,范围为0到3。应用更多优化会延长编译时间,因此,如果你经常进行开发和编译代码,则需要更少的优化即使生成的代码运行速度较慢,也可以进行优化以加快编译速度。因此dev的默认opt-level0

当准备好发布代码时,最好花更多时间进行编译。代码只会在发布模式下编译一次,但会多次运行编译后的程序,因此发布模式会用更长的编译时间换取运行速度更快的代码。这就是为什么release文件的默认opt-level3

;