gpt4 book ai didi

linux - gcc 可以在不交叉编译的情况下为 Arm 生成二进制文件吗

转载 作者:太空宇宙 更新时间:2023-11-04 04:38:42 25 4
gpt4 key购买 nike

我们可以配置在 intel x64 架构上运行的 gcc 来为 ARM 芯片生成二进制文件吗?只需将一些标志传递给 gcc,而不使用交叉编译器。

最佳答案

简短:没有

编译器:gcc 不是 native 交叉编译器,必须在编译 gcc 时指定目标体系结构。 (有一些异常(exception)情况,例如可以同时支持 x86 和 x86_64)

clang 将是一个 native 交叉编译器,您可以通过传递 -target=arm-linux-gnu 来生成 arm 代码,但您仍然无法生成二进制文件,因为您还需要链接器和 C 库。意味着你可以运行clang -target=arm-linux-gnu -c <your file>并编译 C/C++ 代码(可能需要将其指向您的 C/C++ 包含路径) - 但您无法构建二进制文件。

工具链的其余部分:您还需要一个合适的链接器和工具链,两者都特定于您想要运行的架构和操作系统

可能的解决方案:获取合适的工具链,或编译自己的工具链。对于arm linux,你有ex。 CrossToolchains如果您使用的是 debian,对于准系统,您可以从 codesourcery 获取交叉编译器。

由于您说的很模糊,所以无法给您更明确的答案

关于linux - gcc 可以在不交叉编译的情况下为 Arm 生成二进制文件吗,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40449842/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com