目标名称

层级: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 代码?(这可能与目标三元组匹配,也可能与不同目标三元组的工具链匹配,可能具有特定的选项或注意事项。)