将地址转换为函数:使用“ void * void”

麦克风

我遇到了一个函数调用

    // call the entry point from the ELF header
    // note: does not return!
    ((void (*)(void)) (ELFHDR->e_entry & 0xFFFFFF))();

ELFHDR-> e_entry是一个函数指针。我认为((void (*)(void))是返回类型。但我不确定类型void * void什么

是否有规则来告知这种类型?

谢谢!

迈克尔·伯尔

您说“我认为这((void (*)(void))是返回类型”-不是。它正在表达

(ELFHDR->e_entry & 0xFFFFFF)

指向不带任何参数且不返回任何内容的函数的指针。

()语句的最后一个通过该指针调用该函数。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

无法将'void(MyClass :: *)()'转换为'void(*)()

来自分类Dev

将std :: function <void()>转换为void(*)()

来自分类Dev

将 void (*)() 转换为 void (*)(unsigned char)

来自分类Dev

C:将void(*)(void *)转换为void(*)(char *)

来自分类Dev

将void函数转换为char * C ++

来自分类Dev

将int函数转换为void *

来自分类Dev

将void函数转换为char * C ++

来自分类Dev

从void函数返回void函数

来自分类Dev

将int转换为void *

来自分类Dev

双指针的地址强制转换为void **

来自分类Dev

我该如何使用void **函数(void **)

来自分类Dev

无法将void转换为java.lang.Void

来自分类Dev

将void(__ cdecl MyClass :: *)()转换为void *时出错

来自分类Dev

如何将“ void(MyClass :: *)(int)”转换为“ void(*)(int)”?

来自分类Dev

将void(__ cdecl MyClass :: *)()转换为void *时出错

来自分类Dev

错误:从'int(*)(void *)'到'void *(*)(void *)'的无效转换

来自分类Dev

错误:从'void *'到'int(*)(const void *,const void *)'的无效转换

来自分类Dev

无法从pthread中的void *(类名)(void *)类型转换为void *(*)(void *)类型

来自分类Dev

函数指针将参数强制转换为 void

来自分类Dev

java“ void”和“ non void”构造函数

来自分类Dev

void **指针和void * []作为函数参数

来自分类Dev

指向成员函数的指针的映射:无法将void(*)转换为void(Object :: *)

来自分类Dev

将元素插入std :: vector <void **(void *)>

来自分类Dev

无法将类型 '(() throws -> Void?) -> ()' 的值转换为预期的参数类型 '((Void) throws -> Void)?'

来自分类Dev

将const char **转换为void *?

来自分类Dev

将Swift结构转换为UnsafeMutablePointer <Void>

来自分类Dev

将void *转换为动态类型

来自分类Dev

将ListenableScheduledFuture <Void>转换为ListenableFuture <SomethingElse>

来自分类Dev

将QString转换为const void *

Related 相关文章

  1. 1

    无法将'void(MyClass :: *)()'转换为'void(*)()

  2. 2

    将std :: function <void()>转换为void(*)()

  3. 3

    将 void (*)() 转换为 void (*)(unsigned char)

  4. 4

    C:将void(*)(void *)转换为void(*)(char *)

  5. 5

    将void函数转换为char * C ++

  6. 6

    将int函数转换为void *

  7. 7

    将void函数转换为char * C ++

  8. 8

    从void函数返回void函数

  9. 9

    将int转换为void *

  10. 10

    双指针的地址强制转换为void **

  11. 11

    我该如何使用void **函数(void **)

  12. 12

    无法将void转换为java.lang.Void

  13. 13

    将void(__ cdecl MyClass :: *)()转换为void *时出错

  14. 14

    如何将“ void(MyClass :: *)(int)”转换为“ void(*)(int)”?

  15. 15

    将void(__ cdecl MyClass :: *)()转换为void *时出错

  16. 16

    错误:从'int(*)(void *)'到'void *(*)(void *)'的无效转换

  17. 17

    错误:从'void *'到'int(*)(const void *,const void *)'的无效转换

  18. 18

    无法从pthread中的void *(类名)(void *)类型转换为void *(*)(void *)类型

  19. 19

    函数指针将参数强制转换为 void

  20. 20

    java“ void”和“ non void”构造函数

  21. 21

    void **指针和void * []作为函数参数

  22. 22

    指向成员函数的指针的映射:无法将void(*)转换为void(Object :: *)

  23. 23

    将元素插入std :: vector <void **(void *)>

  24. 24

    无法将类型 '(() throws -> Void?) -> ()' 的值转换为预期的参数类型 '((Void) throws -> Void)?'

  25. 25

    将const char **转换为void *?

  26. 26

    将Swift结构转换为UnsafeMutablePointer <Void>

  27. 27

    将void *转换为动态类型

  28. 28

    将ListenableScheduledFuture <Void>转换为ListenableFuture <SomethingElse>

  29. 29

    将QString转换为const void *

热门标签

归档