gpt4 book ai didi

linux - native Windows Linux

转载 作者:可可西里 更新时间:2023-11-01 10:06:47 26 4
gpt4 key购买 nike

我知道几个linux和windows交叉编译的项目。

Wine项目非常适合在 Linux 中运行 Windows 应用程序。

andLinux是在 Windows 中运行的 linux。

我的问题是,我们能否使用 Windows 编译器(如 mingw32、visual studio 等)编译完整的 linux 操作系统,以获得与 Windows PE 可执行格式完全兼容的 linux 系统?

最佳答案

正如 wine 所展示的,PE 格式并不是真正的兼容性问题。

PE 只定义了程序在加载时是如何拼凑起来的。在 windows 下,RUNDLL 解释它,将所有程序部分加载到内存,将所有支持的 dll 加载到内存并修补函数指针,以便程序位于内存中准备运行。 (有关更多详细信息,请参阅 http://msdn.microsoft.com/en-us/library/ms809762.aspx这是一本好书!)

几乎没有什么能阻止您编写内核模块来完成所有这些工作。根据上面链接页面中的详细信息,这可能并不难,而且有人可能已经做到了。

真正的问题是操作系统的基础知识。即使 linux 可以加载 PE,也会存在文件名(\或/)的根本差异以及不同的权限模型和 linux 下不存在的 Windows 注册表方面的问题。那是在您进入 GUI 的不同窗口模型之前。

因此,让 Windows 程序在 Linux 下运行的任务与其说是程序加载器,不如说是在 Linux 下模拟所有 Windows DLL。据我了解,这是 Wine 的主要核心。

关于linux - native Windows Linux,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17762550/

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