我已经开始使用C和Assembly创建自己的操作系统 我使用自己的Boot loader引导用C编写的内核 现在我陷入了一个问题。
如何在我的操作系统下运行PE(便携式可执行文件)?
我想在操作系统中运行一些应用程序。
但是我没有任何想法。我搜索了谷歌。我没有任何结果。
请帮助我! (我是新手)
信息:
-我正在使用用汇编语言编写的自己的引导加载程序。
-我正在使用GCC编译内核
-我遵循IKnow OS教程来开发内核。
我已经开始使用C和Assembly创建自己的操作系统 我使用自己的Boot loader引导用C编写的内核 现在我陷入了一个问题。
如何在我的操作系统下运行PE(便携式可执行文件)?
我想在操作系统中运行一些应用程序。
但是我没有任何想法。我搜索了谷歌。我没有任何结果。
请帮助我! (我是新手)
信息:
-我正在使用用汇编语言编写的自己的引导加载程序。
-我正在使用GCC编译内核
-我遵循IKnow OS教程来开发内核。
您需要实现两件事:
1)PE文件的加载器。它必须解析文件和映射内存区域,动态链接库,也许要清除BSS部分以及PE规范说的其他任何内容都应该从头开始。
2)您的内核必须实现PE文件希望使用的syscall ABI。
下个月您将无法实施。
更新:查看WINE源代码,以了解实现Windows ABI所需的资源。我的建议:为您的第一个内核尝试一些更简单的方法。