【问题标题】:How can I cross compile Rust code into Intel assembly on an ARM M1 Apple Silicon Mac?如何在 ARM M1 Apple Silicon Mac 上将 Rust 代码交叉编译成 Intel 程序集?
【发布时间】:2021-09-09 07:55:34
【问题描述】:

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

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

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

【问题讨论】:

    标签: macos rust x86-64 cross-compiling


    【解决方案1】:

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

    $ rustup target install x86_64-apple-darwin
    

    然后像这样构建你的箱子:

    $ cargo build --target x86_64-apple-darwin
    

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

    $ cargo run --target x86_64-apple-darwin
    

    【讨论】:

    • 交叉编译到 x86-64 linux 机器怎么样?我一直在寻找这个可以找到它。此工具链无法安装在 m1 机器上:brew install filosottile/musl-cross/musl-cross
    • 首先,这是一个简洁明了的答案。 @srknzl 我目前在 M1 上编译 linux x86 的计划是使用 docker(对于 aarch64 和 x64)。
    猜你喜欢
    • 2023-01-16
    • 2021-04-21
    • 2021-06-04
    • 2021-06-25
    • 1970-01-01
    • 2021-05-08
    • 2021-11-15
    • 2021-03-11
    相关资源
    最近更新 更多