Chr*_*isB 3 compilation conditional-compilation rust rust-cargo
当尝试编写或解释cfg诸如以下之类的语句时
#[cfg(all(unix, not(target_arch = "wasm32")))]
Run Code Online (Sandbox Code Playgroud)
从atty板条箱中,我有时不确定unix这里到底意味着什么。(显然它包括wasm?)
是否有 rust 编译器目标属于哪个目标系列的完整列表?
rust 参考资料中的 cfg 文档似乎没有。
Rust nightly 现在有--print all-target-specs-json,其中包含此信息。在 上rustc 1.72.0-nightly (8c74a5d27 2023-06-14),我能够使用收集以下输出
rustc +nightly -Z unstable-options --print all-target-specs-json | jq '[ to_entries[] | { "target": .key, "arch": .value.arch, "os": .value.os, "target-family": .value."target-family" } ]'
Run Code Online (Sandbox Code Playgroud)
[
{
"target": "aarch64-apple-darwin",
"arch": "aarch64",
"os": "macos",
"target-family": ["unix"]
},
{
"target": "aarch64-apple-ios",
"arch": "aarch64",
"os": "ios",
"target-family": ["unix"]
},
{
"target": "aarch64-apple-ios-macabi",
"arch": "aarch64",
"os": "ios",
"target-family": ["unix"]
},
{
"target": "aarch64-apple-ios-sim",
"arch": "aarch64",
"os": "ios",
"target-family": ["unix"]
},
{
"target": "aarch64-apple-tvos",
"arch": "aarch64",
"os": "tvos",
"target-family": ["unix"]
},
{
"target": "aarch64-apple-watchos-sim",
"arch": "aarch64",
"os": "watchos",
"target-family": ["unix"]
},
{
"target": "aarch64-fuchsia",
"arch": "aarch64",
"os": "fuchsia",
"target-family": ["unix"]
},
{
"target": "aarch64-kmc-solid_asp3",
"arch": "aarch64",
"os": "solid_asp3",
"target-family": null
},
{
"target": "aarch64-linux-android",
"arch": "aarch64",
"os": "android",
"target-family": ["unix"]
},
{
"target": "aarch64-nintendo-switch-freestanding",
"arch": "aarch64",
"os": "horizon",
"target-family": null
},
{
"target": "aarch64-pc-windows-gnullvm",
"arch": "aarch64",
"os": "windows",
"target-family": ["windows"]
},
{
"target": "aarch64-pc-windows-msvc",
"arch": "aarch64",
"os": "windows",
"target-family": ["windows"]
},
{
"target": "aarch64-unknown-freebsd",
"arch": "aarch64",
"os": "freebsd",
"target-family": ["unix"]
},
{
"target": "aarch64-unknown-fuchsia",
"arch": "aarch64",
"os": "fuchsia",
"target-family": ["unix"]
},
{
"target": "aarch64-unknown-hermit",
"arch": "aarch64",
"os": "hermit",
"target-family": null
},
{
"target": "aarch64-unknown-linux-gnu",
"arch": "aarch64",
"os": "linux",
"target-family": ["unix"]
},
{
"target": "aarch64-unknown-linux-gnu_ilp32",
"arch": "aarch64",
"os": "linux",
"target-family": ["unix"]
},
{
"target": "aarch64-unknown-linux-musl",
"arch": "aarch64",
"os": "linux",
"target-family": ["unix"]
},
{
"target": "aarch64-unknown-linux-ohos",
"arch": "aarch64",
"os": "linux",
"target-family": ["unix"]
},
{
"target": "aarch64-unknown-netbsd",
"arch": "aarch64",
"os": "netbsd",
"target-family": ["unix"]
},
{
"target": "aarch64-unknown-none",
"arch": "aarch64",
"os": null,
"target-family": null
},
{
"target": "aarch64-unknown-none-softfloat",
"arch": "aarch64",
"os": null,
"target-family": null
},
{
"target": "aarch64-unknown-nto-qnx710",
"arch": "aarch64",
"os": "nto",
"target-family": ["unix"]
},
{
"target": "aarch64-unknown-openbsd",
"arch": "aarch64",
"os": "openbsd",
"target-family": ["unix"]
},
{
"target": "aarch64-unknown-redox",
"arch": "aarch64",
"os": "redox",
"target-family": ["unix"]
},
{
"target": "aarch64-unknown-uefi",
"arch": "aarch64",
"os": "uefi",
"target-family": null
},
{
"target": "aarch64-uwp-windows-msvc",
"arch": "aarch64",
"os": "windows",
"target-family": ["windows"]
},
{
"target": "aarch64-wrs-vxworks",
"arch": "aarch64",
"os": "vxworks",
"target-family": ["unix"]
},
{
"target": "aarch64_be-unknown-linux-gnu",
"arch": "aarch64",
"os": "linux",
"target-family": ["unix"]
},
{
"target": "aarch64_be-unknown-linux-gnu_ilp32",
"arch": "aarch64",
"os": "linux",
"target-family": ["unix"]
},
{
"target": "arm-linux-androideabi",
"arch": "arm",
"os": "android",
"target-family": ["unix"]
},
{
"target": "arm-unknown-linux-gnueabi",
"arch": "arm",
"os": "linux",
"target-family": ["unix"]
},
{
"target": "arm-unknown-linux-gnueabihf",
"arch": "arm",
"os": "linux",
"target-family": ["unix"]
},
{
"target": "arm-unknown-linux-musleabi",
"arch": "arm",
"os": "linux",
"target-family": ["unix"]
},
{
"target": "arm-unknown-linux-musleabihf",
"arch": "arm",
"os": "linux",
"target-family": ["unix"]
},
{
"target": "arm64_32-apple-watchos",
"arch": "aarch64",
"os": "watchos",
"target-family": ["unix"]
},
{
"target": "armeb-unknown-linux-gnueabi",
"arch": "arm",
"os": "linux",
"target-family": ["unix"]
},
{
"target": "armebv7r-none-eabi",
"arch": "arm",
"os": null,
"target-family": null
},
{
"target": "armebv7r-none-eabihf",
"arch": "arm",
"os": null,
"target-family": null
},
{
"target": "armv4t-none-eabi",
"arch": "arm",
"os": null,
"target-family": null
},
{
"target": "armv4t-unknown-linux-gnueabi",
"arch": "arm",
"os": "linux",
"target-family": ["unix"]
},
{
"target": "armv5te-none-eabi",
"arch": "arm",
"os": null,
"target-family": null
},
{
"target": "armv5te-unknown-linux-gnueabi",
"arch": "arm",
"os": "linux",
"target-family": ["unix"]
},
{
"target": "armv5te-unknown-linux-musleabi",
"arch": "arm",
"os": "linux",
"target-family": ["unix"]
},
{
"target": "armv5te-unknown-linux-uclibceabi",
"arch": "arm",
"os": "linux",
"target-family": ["unix"]
},
{
"target": "armv6-unknown-freebsd",
"arch": "arm",
"os": "freebsd",
"target-family": ["unix"]
},
{
"target": "armv6-unknown-netbsd-eabihf",
"arch": "arm",
"os": "netbsd",
"target-family": ["unix"]
},
{
"target": "armv6k-nintendo-3ds",
"arch": "arm",
"os": "horizon",
"target-family": ["unix"]
},
{
"target": "armv7-apple-ios",
"arch": "arm",
"os": "ios",
"target-family": ["unix"]
},
{
"target": "armv7-linux-androideabi",
"arch": "arm",
"os": "android",
"target-family": ["unix"]
},
{
"target": "armv7-sony-vita-newlibeabihf",
"arch": "arm",
"os": "vita",
"target-family": ["unix"]
},
{
"target": "armv7-unknown-freebsd",
"arch": "arm",
"os": "freebsd",
"target-family": ["unix"]
},
{
"target": "armv7-unknown-linux-gnueabi",
"arch": "arm",
"os": "linux",
"target-family": ["unix"]
},
{
"target": "armv7-unknown-linux-gnueabihf",
"arch": "arm",
"os": "linux",
"target-family": ["unix"]
},
{
"target": "armv7-unknown-linux-musleabi",
"arch": "arm",
"os": "linux",
"target-family": ["unix"]
},
{
"target": "armv7-unknown-linux-musleabihf",
"arch": "arm",
"os": "linux",
"target-family": ["unix"]
},
{
"target": "armv7-unknown-linux-ohos",
"arch": "arm",
"os": "linux",
"target-family": ["unix"]
},
{
"target": "armv7-unknown-linux-uclibceabi",
"arch": "arm",
"os": "linux",
"target-family": ["unix"]
},
{
"target": "armv7-unknown-linux-uclibceabihf",
"arch": "arm",
"os": "linux",
"target-family": ["unix"]
},
{
"target": "armv7-unknown-netbsd-eabihf",
"arch": "arm",
"os": "netbsd",
"target-family": ["unix"]
},
{
"target": "armv7-wrs-vxworks-eabihf",
"arch": "arm",
"os": "vxworks",
"target-family": ["unix"]
},
{
"target": "armv7a-kmc-solid_asp3-eabi",
"arch": "arm",
"os": "solid_asp3",
"target-family": null
},
{
"target": "armv7a-kmc-solid_asp3-eabihf",
"arch": "arm",
"os": "solid_asp3",
"target-family": null
},
{
"target": "armv7a-none-eabi",
"arch": "arm",
"os": null,
"target-family": null
},
{
"target": "armv7a-none-eabihf",
"arch": "arm",
"os": null,
"target-family": null
},
{
"target": "armv7k-apple-watchos",
"arch": "arm",
"os": "watchos",
"target-family": ["unix"]
},
{
"target": "armv7r-none-eabi",
"arch": "arm",
"os": null,
"target-family": null
},
{
"target": "armv7r-none-eabihf",
"arch": "arm",
"os": null,
"target-family": null
},
{
"target": "armv7s-apple-ios",
"arch": "arm",
"os": "ios",
"target-family": ["unix"]
},
{
"target": "asmjs-unknown-emscripten",
"arch": "wasm32",
"os": "emscripten",
"target-family": ["unix", "wasm"]
},
{
"target": "avr-unknown-gnu-atmega328",
"arch": "avr",
"os": null,
"target-family": null
},
{
"target": "bpfeb-unknown-none",
"arch": "bpf",
"os": null,
"target-family": null
},
{
"target": "bpfel-unknown-none",
"arch": "bpf",
"os": null,
"target-family": null
},
{
"target": "hexagon-unknown-linux-musl",
"arch": "hexagon",
"os": "linux",
"target-family": ["unix"]
},
{
"target": "i386-apple-ios",
"arch": "x86",
"os": "ios",
"target-family": ["unix"]
},
{
"target": "i586-pc-nto-qnx700",
"arch": "x86",
"os": "nto",
"target-family": ["unix"]
},
{
"target": "i586-pc-windows-msvc",
"arch": "x86",
"os": "windows",
"target-family": ["windows"]
},
{
"target": "i586-unknown-linux-gnu",
"arch": "x86",
"os": "linux",
"target-family": ["unix"]
},
{
"target": "i586-unknown-linux-musl",
"arch": "x86",
"os": "linux",
"target-family": ["unix"]
},
{
"target": "i686-apple-darwin",
"arch": "x86",
"os": "macos",
"target-family": ["unix"]
},
{
"target": "i686-linux-android",
"arch": "x86",
"os": "android",
"target-family": ["unix"]
},
{
"target": "i686-pc-windows-gnu",
"arch": "x86",
"os": "windows",
"target-family": ["windows"]
},
{
"target": "i686-pc-windows-msvc",
"arch": "x86",
"os": "windows",
"target-family": ["windows"]
},
{
"target": "i686-unknown-freebsd",
"arch": "x86",
"os": "freebsd",
"target-family": ["unix"]
},
{
"target": "i686-unknown-haiku",
"arch": "x86",
"os": "haiku",
"target-family": ["unix"]
},
{
"target": "i686-unknown-linux-gnu",
"arch": "x86",
"os": "linux",
"target-family": ["unix"]
},
{
"target": "i686-unknown-linux-musl",
"arch": "x86",
"os": "linux",
"target-family": ["unix"]
},
{
"target": "i686-unknown-netbsd",
"arch": "x86",
"os": "netbsd",
"target-family": ["unix"]
},
{
"target": "i686-unknown-openbsd",
"arch": "x86",
"os": "openbsd",
"target-family": ["unix"]
},
{
"target": "i686-unknown-uefi",
"arch": "x86",
"os": "uefi",
"target-family": null
},
{
"target": "i686-uwp-windows-gnu",
"arch": "x86",
"os": "windows",
"target-family": ["windows"]
},
{
"target": "i686-uwp-windows-msvc",
"arch": "x86",
"os": "windows",
"target-family": ["windows"]
},
{
"target": "i686-wrs-vxworks",
"arch": "x86",
"os": "vxworks",
"target-family": ["unix"]
},
{
"target": "loongarch64-unknown-linux-gnu",
"arch": "loongarch64",
"os": "linux",
"target-family": ["unix"]
},
{
"target": "loongarch64-unknown-none",
"arch": "loongarch64",
"os": null,
"target-family": null
},
{
"target": "loongarch64-unknown-none-softfloat",
"arch": "loongarch64",
"os": null,
"target-family": null
},
{
"target": "m68k-unknown-linux-gnu",
"arch": "m68k",
"os": "linux",
"target-family": ["unix"]
},
{
"target": "mips-unknown-linux-gnu",
"arch": "mips",
"os": "linux",
"target-family": ["unix"]
},
{
"target": "mips-unknown-linux-musl",
"arch": "mips",
"os": "linux",
"target-family": ["unix"]
},
{
"target": "mips-unknown-linux-uclibc",
"arch": "mips",
"os": "linux",
"target-family": ["unix"]
},
{
"target": "mips64-openwrt-linux-musl",
"arch": "mips64",
"os": "linux",
"target-family": ["unix"]
},
{
"target": "mips64-unknown-linux-gnuabi64",
"arch": "mips64",
"os": "linux",
"target-family": ["unix"]
},
{
"target": "mips64-unknown-linux-muslabi64",
"arch": "mips64",
"os": "linux",
"target-family": ["unix"]
},
{
"target": "mips64el-unknown-linux-gnuabi64",
"arch": "mips64",
"os": "linux",
"target-family": ["unix"]
},
{
"target": "mips64el-unknown-linux-muslabi64",
"arch": "mips64",
"os": "linux",
"target-family": ["unix"]
},
{
"target": "mipsel-sony-psp",
"arch": "mips",
"os": "psp",
"target-family": null
},
{
"target": "mipsel-sony-psx",
"arch": "mips",
"os": null,
"target-family": null
},
{
"target": "mipsel-unknown-linux-gnu",
"arch": "mips",
"os": "linux",
"target-family": ["unix"]
},
{
"target": "mipsel-unknown-linux-musl",
"arch": "mips",
"os": "linux",
"target-family": ["unix"]
},
{
"target": "mipsel-unknown-linux-uclibc",
"arch": "mips",
"os": "linux",
"target-family": ["unix"]
},
{
"target": "mipsel-unknown-none",
"arch": "mips",
"os": null,
"target-family": null
},
{
"target": "mipsisa32r6-unknown-linux-gnu",
"arch": "mips",
"os": "linux",
"target-family": ["unix"]
},
{
"target": "mipsisa32r6el-unknown-linux-gnu",
"arch": "mips",
"os": "linux",
"target-family": ["unix"]
},
{
"target": "mipsisa64r6-unknown-linux-gnuabi64",
"arch": "mips64",
"os": "linux",
"target-family": ["unix"]
},
{
"target": "mipsisa64r6el-unknown-linux-gnuabi64",
"arch": "mips64",
"os": "linux",
"target-family": ["unix"]
},
{
"target": "msp430-none-elf",
"arch": "msp430",
"os": null,
"target-family": null
},
{
"target": "nvptx64-nvidia-cuda",
"arch": "nvptx64",
"os": "cuda",
"target-family": null
},
{
"target": "powerpc-unknown-freebsd",
"arch": "powerpc",
"os": "freebsd",
"target-family": ["unix"]
},
{
"target": "powerpc-unknown-linux-gnu",
"arch": "powerpc",
"os": "linux",
"target-family": ["unix"]
},
{
"target": "powerpc-unknown-linux-gnuspe",
"arch": "powerpc",
"os": "linux",
"target-family": ["unix"]
},
{
"target": "powerpc-unknown-linux-musl",
"arch": "powerpc",
"os": "linux",
"target-family": ["unix"]
},
{
"target": "powerpc-unknown-netbsd",
"arch": "powerpc",
"os": "netbsd",
"target-family": ["unix"]
},
{
"target": "powerpc-unknown-openbsd",
"arch": "powerpc",
"os": "openbsd",
"target-family": ["unix"]
},
{
"target": "powerpc-wrs-vxworks",
"arch": "powerpc",
"os": "vxworks",
"target-family": ["unix"]
},
{
"target": "powerpc-wrs-vxworks-spe",
"arch": "powerpc",
"os": "vxworks",
"target-family": ["unix"]
},
{
"target": "powerpc64-ibm-aix",
"arch": "powerpc64",
"os": "aix",
"target-family": ["unix"]
},
{
"target": "powerpc64-unknown-freebsd",
"arch": "powerpc64",
"os": "freebsd",
"target-family": ["unix"]
},
{
"target": "powerpc64-unknown-linux-gnu",
"arch": "powerpc64",
"os": "linux",
"target-family": ["unix"]
},
{
"target": "powerpc64-unknown-linux-musl",
"arch": "powerpc64",
"os": "linux",
"target-family": ["unix"]
},
{
"target": "powerpc64-unknown-openbsd",
"arch": "powerpc64",
"os": "openbsd",
"target-family": ["unix"]
},
{
"target": "powerpc64-wrs-vxworks",
"arch": "powerpc64",
"os": "vxworks",
"target-family": ["unix"]
},
{
"target": "powerpc64le-unknown-freebsd",
"arch": "powerpc64",
"os": "freebsd",
"target-family": ["unix"]
},
{
"target": "powerpc64le-unknown-linux-gnu",
"arch": "powerpc64",
"os": "linux",
"target-family": ["unix"]
},
{
"target": "powerpc64le-unknown-linux-musl",
"arch": "powerpc64",
"os": "linux",
"target-family": ["unix"]
},
{
"target": "riscv32gc-unknown-linux-gnu",
"arch": "riscv32",
"os": "linux",
"target-family": ["unix"]
},
{
"target": "riscv32gc-unknown-linux-musl",
"arch":
| 归档时间: |
|
| 查看次数: |
458 次 |
| 最近记录: |