Section courante

A propos

Section administrative du site

cfg

Configuration
Rust

Syntaxe

macro_rules! cfg {
   ($($cfg:tt)*) => { ... };
}

Description

Cette macro permet d'évaluer des combinaisons de drapeaux de configuration à la compilation, utile pour la compilation conditionnelle.

Remarques

Évalue les combinaisons booléennes d'indicateurs de configuration à la compilation.

En plus de l'attribut #[cfg], cette macro permet l'évaluation des indicateurs de configuration par expression booléenne. Cela permet souvent de réduire la duplication de code.

La syntaxe de cette macro est identique à celle de l'attribut cfg.

Contrairement à #[cfg], cfg! ne supprime aucun code et s'évalue uniquement à vrai ou faux. Par exemple, tous les blocs d'une expression if/else doivent être valides lorsque cfg! est utilisé pour la condition, quel que soit l'élément évalué par cfg!.

Exemples

  1. let my_directory = if cfg!(windows) {
  2.     "windows-specific-directory"
  3. } else {
  4.     "unix-directory"
  5. };


Dernière mise à jour : Mardi, le 5 Août 2025