最近基于UEF在写代码的时候,发现因为粗心老是出现不少问题,并且都是一些小问题。虽然UEFI玩了挺久,可是也没梳理一下思路。借此机会整理一下:编程
UEFI对复杂的BIOS代码作了很好的封装和模块化。 并且UEFI的标准库函数也十分丰富,多数状况下须要跨模块调用各类丰富的库函数来进行功能开发,这其中重点是了解整个代码的框架。在写代码以前要对当前调用的函数了然于胸,否则就会发生老是由于一些小的问题致使编译错误,BIOS的编译是须要一些时间的,过多的花时间来试错编译的过程,会极大的影响咱们的开发效率,大概梳理了下编程的思路:框架
1. 从框架入手模块化
要对代码的框架有个了解,所调用的库函数以及变量是否属于本模块内,若是不属于,则要在inf文档中添加模块声明。此外gRT的某些服务是在gST中,所以学会相互转换函数
2. 对形参入手指针
函数能够识别到之后,则要关注形参的类型以及格式,UEFI对于类型标准的很是严格,所以定义形参变量时,必定要肯定类型是否一致。另外的一点就是形参的类型,着重关注是否为指针,是一级指针仍是二级指针。不要错用。开发
3.GUID等全局变量的包含使用文档
若是有涉及到GUID,则要看下目前的包含结构有没有包括GUID,若是没有则要在inf文件中添加GUID的声明编译
4.头文件的包含效率
此外包含某个.h文件时,要关注当前.h文件是否包含了其余模块的.h文件,若是包含了,则要在调用的inf文件中添加Pkg的声明变量