特性与配置文件
条件编译
特性与配置文件 是 CoddyKit 上的免费 Learn Rust Coding 课时。 这是第 4 节课,共 4 节。 你可以在下方免费阅读本课时的完整内容 — 然后在浏览器中使用内置代码编辑器和全天候 AI 导师进行实践。 这是 Learn Rust Coding 学习路径的一部分,你的进度在网页和 CoddyKit 应用中同步。 Learn Rust Coding 课程共包含 4 节课。
什么是功能
功能允许您在编译时启用或禁用 crate 的可选部分。它们让 crate 更灵活:调用方只需为实际使用的部分付出代价。
声明功能
在 [features] 表中定义功能。每个功能都可以启用其他功能或可选依赖。
[features]
default = ["json"]
json = []
fast_math = []条件编译
使用 cfg 属性保护代码,使其仅在某个功能启用时才进行编译。
#[cfg(feature = "json")]
fn export() {
println!("Exporting as JSON");
}
fn main() {
#[cfg(feature = "json")]
export();
}启用功能
调用方可以在依赖声明中或命令行上启用功能。
[dependencies]
my_lib = { version = "1.0", features = ["fast_math"] }默认功能
default 功能会自动启用。使用 default-features = false 将其禁用,以选择最小化构建。
[dependencies]
my_lib = { version = "1.0", default-features = false }在 CLI 上使用功能
您还可以针对每条命令切换功能,而无需编辑清单。
cargo build --features fast_math
cargo run --no-default-features
cargo test --all-features什么是配置文件
配置文件控制优化级别和调试信息等编译器设置。内置的两个配置文件是 dev(调试)和 release。
dev 配置文件
dev 配置文件由 cargo build 使用。它优先考虑快速编译和易于调试,而不是运行时速度。
[profile.dev]
opt-level = 0
debug = truerelease 配置文件
release 配置文件(与 --release 一起使用)会启用优化,以生成运行速度更快的二进制文件。
[profile.release]
opt-level = 3
lto = true
strip = true调整配置文件
您可以微调任何配置文件。例如,在开发构建中启用少量优化,以提高运行时速度,同时保持依赖项的快速编译。
[profile.dev]
opt-level = 1
[profile.dev.package."*"]
opt-level = 3作为功能的可选依赖
可选依赖会隐式创建一个同名功能。启用该功能会引入此依赖,因此用户只在需要时才选择较重的 crate。
[dependencies]
serde = { version = "1.0", optional = true }
[features]
serialize = ["dep:serde"]快速检查
哪个属性可以使代码块仅在某个功能启用时编译?
回顾
您学习了条件编译工具:
[features]声明可选功能#[cfg(feature = ...)]根据功能控制代码default-features = false选择最小化构建dev和release等配置文件控制优化和调试设置
用 AI 导师学习 Rust — 免费
在浏览器中编写并运行真实代码,获得全天候 AI 导师的即时帮助,并在网页或应用中继续学习。
- 课程
- 39
- 课程
- 144
常见问题解答
「特性与配置文件」课时是免费的吗?
是的 — 「特性与配置文件」的完整文本可在网页上免费阅读。要进行交互式练习(内置代码编辑器和全天候 AI 导师)并解锁 Learn Rust Coding 课程的其余内容,请升级到 CoddyKit PRO。 Learn Rust Coding 课程共包含 4 节课。
「特性与配置文件」这节课中我会学到什么?
条件编译 你通过在浏览器中直接运行的动手代码来练习 Learn Rust Coding,全天候 AI 导师会在你学习这节课的过程中回答你的问题。
学习 Learn Rust Coding 需要有经验吗?
无需任何先前经验。CoddyKit 上的 Learn Rust Coding 课程适合初学者到高级学习者,你可以从这里开始或从头开始,按照自己的节奏学习。 这是第 4 节课,共 4 节。
「特性与配置文件」课时需要多长时间?
大多数 CoddyKit 课程大约需要 5–10 分钟。每节课都很精短且互动,所以你能稳步进步,并在网页和应用中从离开的地方继续。
我能在这节 Learn Rust Coding 课中编写并运行代码吗?
能。每节 Learn Rust Coding 课都包含内置代码编辑器,你可以在浏览器中直接编写并运行真实代码,并获得即时 AI 反馈 — 无需本地设置。
此课程中的所有课时
- Cargo 基础
- Cargo.toml
- 工作空间
- 特性与配置文件