2016-08-23 87 views
-1

我學習UEFI編程,我注意到許多EFI頭文件的顯示與此語法塊我不明白:你可以從efilib.h中解釋這個C的定義嗎?

typedef 
EFI_STATUS 
(EFIAPI *EFI_TEXT_STRING) (
    IN EFI_SIMPLE_TEXT_OUTPUT_PROTOCOL *This, 
    IN CHAR16 *String 
); 
  • 能否請您解釋一下什麼是typedef的論據在這種情況下?
  • 那些IN是怎麼合法的?它是一個編譯器特定的功能嗎?
+0

可能的重複[瞭解C中函數指針的類型定義](http://stackoverflow.com/questions/1591361/understanding-typedefs-for-function-pointers-in-c) – Drop

+1

請只詢問每個問題一個問題在將來。 – Drop

+0

您可以先瀏覽宏並查看它們是如何有效使用的。這會幫助你更快地理解這一點。 – Sridhar

回答

1

這是一個簡單的函數指針的類型定義。類型EFI_TEXT_STRING是指向一個函數的指針,該函數將指向EFI_SIMPLE_TEXT_OUTPUT_PROTOCOL的指針作爲其第一個參數,並將指向CHAR16的指針作爲其第二個參數。該函數返回類型EFI_STATUS。

相關問題