cfg

環境に応じたコンパイルをするには2種類の方法があります。

  • cfgアトリビュート: #[cfg(...)]をアトリビュートとして使用する。
  • cfg!マクロ: cfg!(...)をブーリアンとして評価する。

前者は条件付きコンパイルを行いますが、後者はtrueまたはfalseリテラルに評価され実行時にチェックすることが可能です。 いずれの場合も適切なシンタックスで記述する必要があります。

#[cfg]と異なり、cfg!はコードを削除せず、trueまたはfalseに評価されるだけです。 例えば、cfg!が何を評価しているかに関係なく、cfg!が条件に利用されるとき、if/else式の中のすべてのブロックが有効でなくてはなりません。

XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

参照

参照(reference), cfg!, マクロ.