【问题标题】:What is the most minimal bootable kernel example?什么是最小的可引导内核示例?
【发布时间】:2021-08-05 08:57:43
【问题描述】:

"Hello World" 程序可以被视为给定语言的最小用户空间程序示例,即

#include <stdio.h>
int main() {
   printf("Hello, World!");
   return 0;
}

对于 C。它的目的是展示如何编写可调用程序(main() 函数)所需的最小接口以及使用printf() 进行一些文本打印。

是否可以为 BIOS/EFI 可引导内核创建这样一个最小的“Hello World”示例?这样的可启动界面和可能的打印操作会是什么样子?

【问题讨论】:

    标签: kernel bios uefi


    【解决方案1】:

    这是一个基于 EDK2 的 HelloWorld,可以从 EFI shell 提示符运行。

    #include <Uefi.h>
    #include <Library/UefiLib.h>
    #include <Library/ShellCEntryLib.h>
    
    INTN
    EFIAPI
    ShellAppMain( UINTN Argc, CHAR16 **Argv)
    {
        Print(L"Hello World!\n");
    
        return(0);
    }
    

    【讨论】:

      猜你喜欢
      • 2011-03-23
      • 1970-01-01
      • 1970-01-01
      • 2016-03-31
      • 1970-01-01
      • 2015-09-03
      • 1970-01-01
      • 2023-03-31
      • 2012-04-12
      相关资源
      最近更新 更多