Rust:是否存在各编译目标所属target-family的完整列表?
Rust目标平台target-family完整列表
首先明确:unix目标族不包含wasm32,你看到的那行代码里的额外判断大概率是兼容旧版编译器的冗余写法,当前标准中wasm32不属于unix族范畴。
以下是Rust编译器支持的所有target-family分类及对应目标平台:
unix族
- 类Unix系统(包括Linux、macOS、BSD系列、Solaris等)对应的目标,比如:
x86_64-unknown-linux-gnuaarch64-apple-darwinx86_64-freebsdsparcv9-sun-solaris
windows族
- Windows系统相关目标,比如:
x86_64-pc-windows-msvci686-pc-windows-gnuaarch64-pc-windows-msvc
wasm族
- WebAssembly相关目标,比如:
wasm32-unknown-unknownwasm32-wasi
macos族
- 仅针对macOS的目标(是unix族的子集,可单独匹配):
x86_64-apple-darwinaarch64-apple-darwin
ios族
- iOS及相关苹果移动端目标:
aarch64-apple-iosx86_64-apple-ios
android族
- Android系统目标:
aarch64-linux-androidx86_64-linux-android
其他独立目标(不属于上述族)
- 一些特殊嵌入式或小众平台,比如:
riscv32imac-unknown-none-elfarmv7-none-eabi
另外,你可以通过rustc --print target-list命令查看所有支持的目标平台,再结合rustc --print cfg --target <目标平台>命令,查看特定平台对应的所有cfg条件(包括target-family),比如执行rustc --print cfg --target wasm32-unknown-unknown,就能看到它的cfg里并没有unix标识。
内容的提问来源于stack exchange,提问作者ChrisB
相关产品推荐
相关产品推荐

