我知道每个CPU/架构都有自己的指令集,因此为特定CPU编写的程序(二进制文件)不能在其他CPU上运行。但我不太理解为什么可执行文件(例如 .exe 这样的二进制文件)不能在 Linux 上运行,却可以在 Windows 上运行,即使在同一台机器上。
这是一个基础问题,我期望的答案是 .exe 和其他二进制格式可能不是原始的机器指令,而是包含一些操作系统相关的数据。如果是这样的话,那么这些与操作系统相关的数据是什么样的?作为例子,.exe 文件的格式是什么,它和 Linux 可执行文件的区别是什么?
是否有一份简洁详细的信息来源可以获取?
这是一个基础问题,我期望的答案是 .exe 和其他二进制格式可能不是原始的机器指令,而是包含一些操作系统相关的数据。如果是这样的话,那么这些与操作系统相关的数据是什么样的?作为例子,.exe 文件的格式是什么,它和 Linux 可执行文件的区别是什么?
是否有一份简洁详细的信息来源可以获取?