下面这段代码怎么理解?我没看明白呀,期望高人指点,难道是把这些函数放在指定地址?

2025-05-11 23:28:44
推荐回答(1个)
回答1:

结构体struct DESKTOP_API_ENTRY(及类型desktop_api_entry_t)中所有的成员都是函数指针。

DESKTOP_ENTRY_TBL是一个内存地址,从代码来看这个地址应该是某个desktop_api_entry_t类型的变量的地址。DESKTOP_FUNC_ENTRY用宏定义的方式访问这个变量,用DESKTOP_FUNC_ENTRY->xxx(...)的方式就可以调用函数指针xxx所指的函数。

你列出来的一堆“函数名”的本质都是宏,比如dsk_reg_init_para(...)就是调用DESKTOP_FUNC_ENTRY->ptr_dsk_reg_init_para所指的函数。