Is there a list of all cfg features?

杀马特。学长 韩版系。学妹 提交于 2019-12-17 15:36:03

问题


Rust has the ability to check configuration at build time with, e.g., #[cfg(target_os = "linux")] or if cfg!(target_os = "linux") {...}, where target_os is a feature.

Is there a list of all (or, at least, commonly used) features that can be checked in Rust?


See related question regarding attributes Is there an exhaustive list of standard attributes anywhere?.


回答1:


The "Conditional compilation" section of the Reference has a list of configurations that must be defined (as of Rust 1.14):

  • target_arch with values like:
    • x86
    • x86_64
    • mips
    • powerpc
    • powerpc64
    • arm
    • aarch64
  • target_os with values like:
    • windows
    • macos
    • ios
    • linux
    • android
    • freebsd
    • dragonfly
    • bitrig
    • openbsd
    • netbsd
  • target_family with values like:
    • unix
    • windows
  • unix (shortcut for target_family)
  • windows (shortcut for target_family)
  • target_env with values like:
    • gnu
    • msvc
    • musl
    • "" (empty string)
  • target_endian with values:
    • little
    • big
  • target_pointer_width with values like:
    • 32
    • 64
  • target_has_atomic with values like:
    • 8
    • 16
    • 32
    • 64
    • ptr
  • target_vendor with values like:
    • apple
    • pc
    • unknown
  • test
  • debug_assertions



回答2:


You can also use this command: rustc --print target-list.

Each triple are formatted as follows: {arch}-{vendor}-{sys}-{abi}.

For example, the triple 'arm-unknown-linux-gnueabihf' refers to:

  1. architecture: arm
  2. vendor: unknown. In this case, no vendor was specified.
  3. system: linux
  4. ABI: gnueabihf



回答3:


See also https://internals.rust-lang.org/t/all-the-rust-features/4322 for a comprehensive list of features.

Bear in mind that some / most of the features won't be stabilized so will only be available in nightly for some time and are subject to breaking improvements / upgrades until they are either stabilized or discontinued.

Features in rust nightly is survival of the fittest.



来源:https://stackoverflow.com/questions/41742046/is-there-a-list-of-all-cfg-features

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!