Answers:
Linux和Windows可执行文件使用不同的格式。Linux 在大多数体系结构上使用ELF格式,而Windows使用PE格式。ELF更适合Linux管理共享库的方式,PE更适合Windows管理共享库的方式,但是Linux不能执行PE可执行文件或Windows ELF可执行文件没有根本原因。实际上,Linux 可以通过Wine 来执行PE可执行文件。
困难在于Windows和Linux具有完全不同的API:它们具有不同的内核接口和库集。因此,要实际运行Windows应用程序,Linux将需要模拟该应用程序进行的所有API调用。这是很多工作。Wine在一定程度上做到了这一点,但这很难,尤其是因为Windows的制造商不合作。您可以将其与母语为中文的英语学习进行比较:可执行的格式是字母(不难掌握),API的词汇量(花几年的时间才能达到可以开始阅读文学作品的水平) )。
这就是我从程序员那里听到Windows方面用外行术语解释的方式。
在Windows中,程序中有钩子,而Exe对其进行调用的OS在Linux中是不会存在的。由于两种环境的差异。最初,Linux会寻找权限,Windows会首先通过检查扩展名,查看属性然后在Exe文件内部等来寻找可链接格式。
Netbackup之类的应用程序始于linux,经过修改后可以在Windows环境中运行,而无需使用Wine IMHO,这些应用程序通常是Windows应用程序中表现最稳定的一种。
当Windows Apps。通常变得不规则,这是因为该应用程序持有的某些挂钩没有完全释放,并且Windows认为它们是(内存泄漏)。Windows将未释放的内存空间移交给另一个应用程序时会崩溃并刻录。