mirror of
https://github.com/rust-lang/book.git
synced 2026-05-17 05:00:42 -04:00
29 lines
1021 B
Markdown
29 lines
1021 B
Markdown
% Conditional Compilation
|
|
|
|
<small>There is a new edition of the book and this is an old link.</small>
|
|
|
|
> Sometimes one wants to have different compiler outputs from the same code, depending on build target, such as targeted operating system, or to enable release builds.
|
|
> Configuration options are either provided by the compiler or passed in on the command line using.
|
|
> Rust code then checks for their presence using the `#[cfg(...)]` attribute
|
|
|
|
```rust
|
|
// The function is only included in the build when compiling for macOS
|
|
#[cfg(target_os = "macos")]
|
|
fn macos_only() {
|
|
// ...
|
|
}
|
|
```
|
|
|
|
---
|
|
|
|
This particular chapter does not exist in [the second edition][2].
|
|
The best place to learn about it is [the Rust Reference][3].
|
|
|
|
* **[In the Rust Reference: Ch 5 — Conditional Compilation][3]**
|
|
* <small>[In the first edition: Ch 4.3 — Conditional Compilation][1]</small>
|
|
|
|
|
|
[1]: https://doc.rust-lang.org/1.30.0/book/first-edition/conditional-compilation.html
|
|
[2]: index.html
|
|
[3]: ../reference/conditional-compilation.html
|