找回密码
 加入计匠网
搜索
热搜: BIOS ACPI CPU Windows
查看: 16466|回复: 4

求助关于EFI

[复制链接]
发表于 2008-11-12 11:07:15 | 显示全部楼层 |阅读模式
各位大大好:, @1 y: y+ ^# n& U  ~5 z! J
在下legacy bios没做两天又EFI了
3 _  Q1 R& p: d- q2 y* \! F1 Y我想问一下下面的代码是什么意思,能从c语法分析一下吗??谢谢了!9 Q4 K1 ~0 F# s0 r9 S$ T6 z0 w

! k! ^, B9 n2 U3 etypedef
; g0 X2 A0 H' K* x+ w, I8 _EFI_STATUS; l9 C# N. e- N: N5 Y9 }- l5 N. {
(EFIAPI *EFI_PEI_RESET_SYSTEM) (- M( q" K: ^  g& Y
  IN EFI_PEI_SERVICES   **PeiServices& P2 E5 z. L  A# {
  );# z, i6 h! F0 [; R
; [7 c! }6 C7 B& l; _& d, Q0 ]# K
typedef struct {! r7 ~0 B1 ?7 W: G: U- K8 D. p
  EFI_PEI_RESET_SYSTEM  ResetSystem;. _! j: s! C7 U5 x
} PEI_RESET_PPI;
发表于 2008-11-12 13:18:14 | 显示全部楼层
  1. typedef3 d$ _7 @' W  y# C) I  u
  2. EFI_STATUS
    . u1 p6 b! B1 f% j7 o7 ~$ O- b
  3. (EFIAPI *EFI_PEI_RESET_SYSTEM) (
    ! D; R$ S. b4 p
  4.   IN EFI_PEI_SERVICES   **PeiServices
    5 S! o4 u; g" y7 B& J
  5.   );
复制代码
定义EFI_PEI_RESET_SYSTEM,
* _5 X, A" \+ P& E( Z是一个 指向返回值是EFI_STATUS,有一个参数IN EFI_PEI_SERVICES   **,使用EFIAPI调用方式的函数指针,也就是一个函数的地址
: M2 l- |, }8 k- M8 D+ U1 E0 a, n
EFI_PEI_RESET_SYSTEM          PeiResetSystem;定义函数PeiResetSystem,相当于:9 y$ B8 a3 k: q
EFI_STATUS EFIAPI PeiResetSystem (IN  EFI_PEI_SERVICES   **PeiServices );
回复

使用道具 举报

 楼主| 发表于 2008-11-12 14:04:00 | 显示全部楼层
感谢xtdumpling指点,学习了!
回复

使用道具 举报

发表于 2009-8-6 09:45:21 | 显示全部楼层

请问,EFI_STATUS这个有没有具体意思呢?

请问,EFI_STATUS这个有没有具体意思呢?谢谢哈,初学者~~
回复

使用道具 举报

发表于 2009-8-14 20:47:07 | 显示全部楼层
EFI_STATUS就是返回值类型啦,具体你可以到头文件里找。动动手勤思考。
9 B' A# `3 }6 a第一个typedef是定义的一个函数指针类型,类型名是EFI_PEI_RESET_SYSTEM,EFIAPI是一个简单的宏替换,原型是啥你最好自己去查,其实也很简单,就一个词。
+ F, }: o, o' Q6 A+ e; W& L第二个typedef是定义了一个名为PEI_RESET_PPI的结构类型,它的唯一成员是一个(上一步定义的)函数指针。7 i" p9 b( V7 n2 E4 e1 A7 I
经过这两次定义,以后如果你将一个变量声明为PEI_RESET_PPI类型,比方说" x: C8 ^( s/ ?8 k7 Z' s, a
PEI_RESET_PPI myVar;& P1 Y) ^; {5 x2 n; F
就意味着,myVar是一个结构型变量,它含有一个成员,这个成员是一个指向函数的指针,该函数接收一个指针数组作为其输入(其中数组中的每一项都指向一个类型为EFI_PEI_SERVICES的实例,请参考char **s作为输入),输出类型为EFI_STATUS。
) n4 b" |3 E6 ^# E% s2 _5 s% O; M3 y6 w8 H4 O: @
解析   EFI_PEI_SERVICES **PeiServices
4 S: ?2 V6 P4 L8 A* p. ?可看作 EFI_PEI_SERVICES (*PeiServices)[ ]
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 加入计匠网

本版积分规则

Archiver|手机版|小黑屋|计匠网

GMT+8, 2026-9-19 21:02 , Processed in 0.061731 second(s), 17 queries .

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

快速回复 返回顶部 返回列表