Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
我是 UEFI(统一可扩展固件接口)开发的新手。我正在使用 EDK(EFI 开发工具包)。
要创建新协议,我们需要给协议一个 GUID。例如,在BlockIO协议的头文件中,我们可以看到:
BlockIO
(MdePkg\Include\BlockIo.h)
宏:
全局变量:
在包声明文件中MdePkg.dec:
MdePkg.dec
为什么我们需要其中 3 个来为协议提供 GUID?
(也许这个问题与 C 语言细节有关,所以我也添加了candmacros标记。)
c
macros
全局变量只能由链接到定义它的对象的驱动程序使用(BlockIo.c在您的情况下)。我认为宏是在头文件中定义的,因此不与该对象链接的驱动程序可以使用宏中的 GUID。
BlockIo.c