目标名称
层级:3
目标的简要描述(例如 CPU、操作系统)
目标维护者
- 某人,https://github.com/...
要求
目标是否支持主机工具,还是只支持交叉编译?目标是否支持 std 或 alloc(无论是使用默认分配器,还是用户提供分配器)?
记录为目标构建的二进制文件的预期行为。除了 CPU/环境/等的基线之外,它们是否假设特定的最低功能?它们期望哪个版本的 OS 或环境?
程序可能希望使用哪些值得注意的 #[target_feature(...)]
或 -C target-feature=
值?
目标上 extern "C"
使用什么调用约定?
二进制文件默认使用什么格式?ELF、PE,还是其他?
构建目标
如果 Rust 默认情况下不构建目标,用户如何构建它?用户是否可以简单地将它添加到 config.toml
中的 target
列表中?
构建 Rust 程序
Rust 尚未为此目标提供预编译的工件。要为此目标编译,您需要启用目标构建 Rust(请参阅上面的“构建目标”),或者使用 build-std
或类似方法构建自己的 core
副本。
测试
目标是否支持运行二进制文件,或者二进制文件是否具有不同的预期行为,从而无法以标准方式运行它们?如果用户可以运行二进制文件,他们是否可以在某些通用模拟器中运行它们,或者他们是否需要原生硬件?目标是否支持运行 Rust 测试套件?
交叉编译工具链和 C 代码
目标是否支持 C 代码?如果是,用户应该使用什么工具链目标来构建兼容的 C 代码?(这可能与目标三元组匹配,也可能与不同目标三元组的工具链匹配,可能具有特定的选项或注意事项。)