你能从efilib.h解释这个C定义吗?

时间:2016-08-23 09:13:32

标签: c gcc syntax uefi compiler-specific

我正在学习UEFI编程,我注意到许多EFI头文件都显示了我无法理解的语法块:

typedef
EFI_STATUS
(EFIAPI *EFI_TEXT_STRING) (
    IN EFI_SIMPLE_TEXT_OUTPUT_PROTOCOL *This,
    IN CHAR16 *String
);
  • 请您解释一下typedef在这种情况下的论点是什么?
  • 那些IN的法律语法怎么样?它是编译器特定的功能吗?

1 个答案:

答案 0 :(得分:1)

这是函数指针的简单typdef。类型EFI_TEXT_STRING是一个指向函数的指针,该函数将指向EFI_SIMPLE_TEXT_OUTPUT_PROTOCOL的指针作为其第一个参数,并将指向CHAR16的指针作为其第二个参数。该函数返回EFI_STATUS类型。