首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >为什么一个操作系统(Windows)的二进制文件不能在相同底层架构的其他操作系统( Linux)中运行?

为什么一个操作系统(Windows)的二进制文件不能在相同底层架构的其他操作系统( Linux)中运行?
EN

Stack Overflow用户
提问于 2013-05-21 10:58:29
回答 1查看 326关注 0票数 0

这可能是一个微不足道的问题,但我很难向我的弟弟解释,Windows二进制文件不能在另一个不同的操作系统上运行,即使这两个操作系统都在同一台机器上运行。如果二进制文件(操作码)必须相同才能在相同的底层架构(例如Intel32位)中执行,那么Windows和Linux (甚至是Ubuntu和RadHat Linux)的二进制文件之间有什么区别?在由处理器执行之前,是否在指令级对二进制文件进行了任何运行时修改?我如何用外行的/simple术语解释他能理解的。

EN

回答 1

Stack Overflow用户

发布于 2013-05-21 11:00:45

不同的操作系统有不同的ABIs,需要使用不同的loaders。如果其他操作系统的加载器可用(例如通过Wine),则可以加载可执行文件,此时API就变得很重要。

票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/16661454

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档