我如何在 ARM M1 Apple Silicon Mac 上将 Rust 代码交叉编译为英特尔程序集?

How can I cross compile Rust code into Intel assembly on an ARM M1 Apple Silicon Mac?

我一直在比较 C 和 Rust 为 x86 和 ARM 生成的汇编代码。

我有一个 M1 Mac,我找到了如何使用 Clang 交叉编译 C,但到目前为止我找不到如何交叉编译 Rust。

如何在 M1 Mac 上从 Rust 生成 x86_64 二进制文件?

内置交叉编译,只需使用rustup安装目标支持:

$ rustup target install x86_64-apple-darwin

并像这样构建你的箱子:

$ cargo build --target x86_64-apple-darwin

感谢 Rosetta,您甚至可以 运行 像这样:

$ cargo run --target x86_64-apple-darwin