UEFI 基础教程 (十二) - 使用标准C库

本文详细介绍如何在UEFI环境中利用EDKII框架编写并运行包含标准C库的UEFI应用程序。通过具体实例,展示了从编写源代码、配置编译环境、编译生成EFI文件到在UEFI shell下运行的全过程。此过程不仅加深了对UEFI开发的理解,还展示了标准C库在UEFI应用中的高效应用。
一、 编写源代码
  1. 编写UEFI Application
    代码C:\edkii\OvmfPkg\MyHelloWorldStdLibC\MyHelloWorldStdLibC.c,
#include <stdio.h>

int main(int args , char ** argv){

  int nums[10] = {4, 5, 2, 10, 7, 1, 8, 3, 6, 9};
  int i, j, temp, isSorted;
  
  printf("Before Sorting, ... \n");
  //排序前
  for(i=0; i<10; i++){
    printf("%d ", nums[i]);
  }
  printf("\n");
  
  //优化算法:最多进行 n-1 轮比较
  for(i=0; i<10-1; i++){
    isSorted = 1; //假设剩下的元素已经排序好了
    for(j=0; j<10-1-i; j++){
      if(nums[j] > nums[j+1]){
        temp = nums[j];
        nums[j] = nums[j+1];
        nums[j+1] = temp;
        isSorted = 0;
      }
      }
    if(isSorted) break; //如果没有发生交换,说明剩下的元素已经排序好了
  }
  
  //排序后
  printf("After Sorting, ... \n");
  for(i=0; i<10; i++){
    printf("%d ", nums[i]);
  }
  printf("\n");
  return 0;
}
  1. 编写 C:\edkii\OvmfPkg\MyHelloWorldStdLibC\MyHelloWorldStdLibC.inf,
[Defin
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值