gpt4 book ai didi

c - 单个编译的 C 程序如何在多种体系结构上运行?

转载 作者:行者123 更新时间:2023-11-30 17:22:55 25 4
gpt4 key购买 nike

以从某个网站下载的程序为例,可供选择的不同选项是常见的操作系统(Linux、Mac、Windows),但是 CPU 架构呢?该程序是二进制可执行文件。它只是假设 amd64 吗?或者该程序是否被编译到所有受支持的体系结构中并与顶部的脚本一起打包以选择正确的体系结构?

我只对 C 感兴趣,想知道这是如何实现的。

<小时/>

经过进一步调查,感谢以下人士提供的可爱信息,我发现了 Fat Binaries同时支持 Mac 和 Linux。看起来不像 Windows supports它。

最佳答案

Mac OS X 二进制格式包含一种在同一文件中为多种架构提供代码的机制,因此单个 Mac 应用程序可以支持 32 和 64 位 x86;最近,PowerPC 支持也是可能的,尽管这些现在已经过时了。但对于 Windows 和 Linux,您通常需要为每个 CPU 架构提供单独的二进制文件(正如评论所指出的,可以临时配置类似的东西,尽管它与标准实践相去甚远。)默认值,也是迄今为止最常见的,是amd64,但有时您仍然会看到针对 32 位计算机的单独下载。过去世界在这方面更有趣,但现在事情比以往任何时候都更加标准化。

关于c - 单个编译的 C 程序如何在多种体系结构上运行?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27821531/

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