是否有所有cfg功能的列表?

问题描述 投票:10回答:3

Rust具有check configuration at build时间的能力,例如#[cfg(target_os = "linux")]if cfg!(target_os = "linux") {...},其中target_os是一个特征。

是否有可以在Rust中检查的所有(或至少是常用的)功能的列表?


查看有关属性Is there an exhaustive list of standard attributes anywhere?的相关问题。

rust rust-cargo
3个回答
20
投票

"Conditional compilation" section of the Reference有一个必须定义的配置列表(从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

2
投票

您也可以使用此命令:rustc --print target-list

每个三元组的格式如下:{arch} - {vendor} - {sys} - {abi}。

例如,三重'arm-unknown-linux-gnueabihf'指的是:

  1. 建筑:手臂
  2. 供应商:未知。在这种情况下,没有指定供应商。
  3. 系统:linux
  4. 父亲:南方

0
投票

另请参阅https://internals.rust-lang.org/t/all-the-rust-features/4322以获取全面的功能列表。

请记住,一些/大多数功能将不会稳定,因此只能在夜间使用一段时间,并且在稳定或停止之前需要进行重大改进/升级。

每晚生锈的特征是适者生存。

© www.soinside.com 2019 - 2024. All rights reserved.