gpt4 book ai didi

c++ - 为什么在 Linux 中编译的代码不能在 Windows 上运行?

转载 作者:行者123 更新时间:2023-11-30 19:17:51 29 4
gpt4 key购买 nike

我只是想说,如果两个操作系统都运行在相同的硬件上,并且一个可执行文件仅包含机器语言中的 0 和 1,那么为什么我们必须为每个操作系统重新编译,而不仅仅是更改可执行文件的扩展名,例如 *.out 到 *.exe 来运行代码?

最佳答案

Windows 和 Linux 可执行文件具有不同的格式。即使格式相同,两个操作系统提供的 API 也不同。

Apple 在从 PowerPC 转向 x86 时也遇到了类似的问题。他们的解决方案是 Universal Binaries 。这些对用户来说表现为单个可执行文件;然而,在幕后,它们是捆绑在一起的两个独立的二进制文件。

关于c++ - 为什么在 Linux 中编译的代码不能在 Windows 上运行?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27438462/

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