文章来源于网络收集而来,版权归原创者所有,如有侵权请及时联系!
编译
直接使用 rustc 编译器,或使用 cargo 构建工具。
rustc
编译器只接受 crate root 作为输入文件。
$ rustc [OPTIONS] INPUT
--crate-type
: 编译类型。(lib,bin)--crate-name
:--edition
: 版本。(2015,2018,2021)-g
: 生成调试信息。-O
: 优化代码。(-C opt-level=2
)-o
: 输出文件名。-v
: 详细输出。
优化等级:
0: 不优化。
1: 基础优化。
2: 标准优化。
3: 深度优化。(all)
s: 优化尺寸。(size)
z: 优化尺寸,关闭循环矢量化。
cargo
整合工具链,可完成如下工作:
- 项目管理。
- 依赖管理。
- 源码编译。
$ cargo [+toolchain] [OPTIONS] [SUBCOMMAND]
new
: 创建新包。
--bin
: 使用 binray 模版。--lib
: 使用 library 模版。--name
: 包名。(默认使用目录名)
init
: 将现有目录初始化为包。
check, c
: 分析并报告错误,不生成目标文件。clippy
: 静态代码检查(lint)。
run, r
: 运行包。
--bin <name>
: 指定 bin 目标。--package <spec>
: 指定 package 目标。--release
: 发布版本。
build, b
: 编译。
-v
: 输出 rustc 详细信息。--workspace
: 编译工作空间下的所有包。--exclude <spec>
: 编译时忽略指定包。--lib
: 仅编译 library。--bin <name>
: 仅编译指定 binary。--bins
: 编译所有 binary。--release
: 编译优化过的发布版本。
test, t
: 运行测试。bench
: 运行基准测试。clean
: 清除 target 目录。doc
: 生成包和依赖文档。
update
: 更新依赖项。
search
: 搜索包。(crate.io)publish
: 发布包。(crate.io)
--verbose, -v
: 输出详细编译参数信息。
Cargo.lock
记录依赖包详细信息。
Cargo.toml
记录详细配置信息,包括第三方依赖。
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论