Rust开发中何时使用rustc命令而非cargo命令?
何时用
rustc替代cargo 1. 极简单文件程序,无依赖无配置需求
当你写的是一个没有外部依赖、不需要任何构建配置的单个.rs文件时,直接用rustc更快捷。比如简单的Hello World:
rustc main.rs ./main
这种场景下,cargo生成的项目结构(Cargo.toml、src目录等)反而冗余。
2. 手动控制底层编译参数
rustc允许直接传递各种底层编译参数,绕过cargo的封装配置,比如:
- 指定目标架构:
rustc --target armv7-unknown-linux-gnueabihf main.rs - 精细控制警告:
rustc -W unused-variables -A dead-code main.rs - 生成汇编代码用于调试:
rustc --emit asm main.rs - 强制指定优化级别:
rustc -O0 main.rs
如果需要精细调控编译过程,rustc比cargo更灵活。
3. 学习编译器底层工作流程
当你想深入理解Rust编译的各个阶段(语法分析、语义分析、代码生成等),直接用rustc能直观接触编译底层细节,而不是通过cargo的封装层。
4. 嵌入式或特殊环境的定制编译
在嵌入式开发场景中,有时需要高度定制编译流程,比如手动链接静态库、指定内存布局脚本:
rustc main.rs --emit obj -C link-arg=-Tlinker_script.ld
这类需求下,cargo的默认配置往往无法满足,需要直接调用rustc完成定制化步骤。
5. 快速测试小段代码片段
如果你只是想快速测试几行Rust代码,不想创建完整的cargo项目,直接用rustc编译临时文件更高效,省去创建项目结构的步骤。
内容的提问来源于stack exchange,提问作者rnso
相关产品推荐
相关产品推荐

