如何使用C内核运行PE(便携式可执行文件)

我已经开始使用C和Assembly创建自己的操作系统 我使用自己的Boot loader引导用C编写的内核 现在我陷入了一个问题。

如何在我的操作系统下运行PE(便携式可执行文件)?

我想在操作系统中运行一些应用程序。

但是我没有任何想法。我搜索了谷歌。我没有任何结果。

请帮助我! (我是新手)

信息:

-我正在使用用汇编语言编写的自己的引导加载程序。

-我正在使用GCC编译内核

-我遵循IKnow OS教程来开发内核。

woshihime 回答:如何使用C内核运行PE(便携式可执行文件)

您需要实现两件事:

1)PE文件的加载器。它必须解析文件和映射内存区域,动态链接库,也许要清除BSS部分以及PE规范说的其他任何内容都应该从头开始。

2)您的内核必须实现PE文件希望使用的syscall ABI。

下个月您将无法实施。

更新:查看WINE源代码,以了解实现Windows ABI所需的资源。我的建议:为您的第一个内核尝试一些更简单的方法。

本文链接:https://www.f2er.com/3165958.html

大家都在问