web-dev-qa-db-ja.com

すべてのcfg機能のリストはありますか?

Rustは ビルド時に構成をチェックする 時間で、たとえば#[cfg(target_os = "linux")]またはif cfg!(target_os = "linux") {...}を使用して、target_os機能です。

Rustでチェックできるすべての(または、少なくとも一般的に使用される)機能のリストはありますか?


attributesどこかに標準属性の完全なリストがありますか? に関する関連質問を参照してください。

17
ideasman42

「リファレンスの条件付きコンパイル」セクション には、定義する必要がある構成のリストがあります(Rust 1.14)現在

  • target_Archは次のような値になります:
    • x86
    • x86_64
    • mips
    • powerpc
    • powerpc64
    • arm
    • aarch64
  • target_osは次のような値になります:
    • windows
    • macos
    • ios
    • linux
    • Android
    • freebsd
    • dragonfly
    • bitrig
    • openbsd
    • netbsd
  • target_familyは次のような値になります:
    • unix
    • windows
  • unixtarget_familyのショートカット)
  • windowstarget_familyのショートカット)
  • target_envは次のような値になります:
    • gnu
    • msvc
    • musl
    • ""(空の文字列)
  • target_endian、値:
    • little
    • big
  • target_pointer_widthは次のような値になります:
    • 32
    • 64
  • target_has_atomicは次のような値になります:
    • 8
    • 16
    • 32
    • 64
    • ptr
  • target_vendorは次のような値になります:
    • Apple
    • pc
    • unknown
  • test
  • debug_assertions
32
Wesley Wiser

次のコマンドも使用できます:rustc --print target-list

各トリプルの形式は次のとおりです:{Arch}-{vendor}-{sys}-{abi}

たとえば、「arm-unknown-linux-gnueabihf」というトリプルは、以下を参照します。

  1. アーキテクチャ:アーム
  2. ベンダー:不明。この場合、ベンダーは指定されていません。
  3. システム:Linux
  4. ABI:gnueabihf
4
Bo Lu

機能の包括的なリストについては、 https://internals.Rust-lang.org/t/all-the-Rust-features/4322 も参照してください。

一部またはほとんどの機能は安定化されないため、しばらくの間は夜間のみ利用可能であり、安定化または廃止されるまで、大幅な改善/アップグレードの対象となることに注意してください。

Rust Nightlyの機能は、適者生存です。

0
Squirrel