x86_64h-apple-darwin
级别:3
适用于 macOS 上较新一代 x86_64
Apple 芯片的目标,可用作通用二进制文件中的 x86_64h
条目,并且等效于 LLVM 的 x86_64h-apple-macosx*
目标。
目标维护者
- Thom Chiovoloni
[email protected]
https://github.com/thomcc
要求
此目标是一个 x86_64
目标,仅支持 Apple 的较新一代(兼容 Haswell)英特尔芯片。它启用这些芯片上可用的一组目标特性(AVX2 和类似特性),并且使用此目标构建的 MachO 二进制文件可以用作通用二进制文件(“胖” MachO 二进制文件)中的 x86_64h
条目,并且在不支持此特性的机器上将无法加载。
它应该支持完整的标准库 (std
和 alloc
,可以使用默认的或用户定义的分配器)。此目标在通过交叉编译(包括从 x86_64-apple-darwin
)进行定向时可能最有用,但如果手动构建,主机工具也可以工作。
它在几乎所有方面都类似于 x86_64-apple-darwin
。
构建目标
Apple 目标上的用户可以通过将其添加到 config.toml
中的 target
列表,或使用 -Zbuild-std
来构建此目标。
构建 Rust 程序
Rust 尚未为此目标提供预编译的工件。要为此目标进行编译,您需要启用该目标来构建 Rust(请参阅上面的“构建目标”),或者使用 build-std
或类似方法构建您自己的 core
副本。
测试
使用此目标构建的代码可以在支持运行 x86_64h
二进制文件的英特尔 macOS 机器(相对较新的英特尔 mac)上运行。Rust 测试套件似乎可以正常工作。
交叉编译工具链和 C 代码
从 Apple 主机交叉编译到此目标通常应该在没有太多配置的情况下工作,只要安装了 XCode 和 CommandLineTools。从非 Apple 主机进行定向很困难,但不会比定向 x86_64-apple-darwin
更难。
在为此目标编译 C 代码时,应使用 "x86_64h-apple-macosx*
" LLVM 目标,或者应将类似 -arch x86_64h
的参数传递给 C 编译器。