Rustは ビルド時に構成をチェックする 時間で、たとえば#[cfg(target_os = "linux")]
またはif cfg!(target_os = "linux") {...}
を使用して、target_os
は機能です。
Rustでチェックできるすべての(または、少なくとも一般的に使用される)機能のリストはありますか?
attributesどこかに標準属性の完全なリストがありますか? に関する関連質問を参照してください。
「リファレンスの条件付きコンパイル」セクション には、定義する必要がある構成のリストがあります(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
unix
(target_family
のショートカット)windows
(target_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
次のコマンドも使用できます:rustc --print target-list
。
各トリプルの形式は次のとおりです:{Arch}-{vendor}-{sys}-{abi}。
たとえば、「arm-unknown-linux-gnueabihf」というトリプルは、以下を参照します。
機能の包括的なリストについては、 https://internals.Rust-lang.org/t/all-the-Rust-features/4322 も参照してください。
一部またはほとんどの機能は安定化されないため、しばらくの間は夜間のみ利用可能であり、安定化または廃止されるまで、大幅な改善/アップグレードの対象となることに注意してください。
Rust Nightlyの機能は、適者生存です。