我完全了解Wine和PlayOnLinux等产品在Linux上使用Windows应用程序,但为什么我无法在Linux上运行.exe文件?是不是因为Linux操作系统架构中的某些东西不能用?是否有可能创建一个Linux发行版或与现有的发行版(Ubuntu,Mint,Debian等)一起运行.exe和.deb?如果有可能,可以研究和研究什么才能做到?
答案 0 :(得分:1)
可执行文件是一组指令,告诉程序加载程序如何将程序放在内存中。可执行文件又可以引用基本上是可执行文件的共享库,因此加载过程是递归的。
首先,操作系统程序加载器需要能够理解可执行文件格式。这个,Linux加载器没有。
其次,可执行文件引用的任何共享库都必须可用。在windoze应用程序中引用的那些库将无法在Linux系统上使用。
即使您可以获得前两个障碍,操作系统也需要以相同的方式响应系统服务调用。当您在Windows中调用打开的文件系统服务时,Linux系统可能会将其解释为关闭文件系统服务调用(或任何内容)(在英特尔,有多种方法可以调用系统服务)。