美文网首页
函数指针

函数指针

作者: Justin_901e | 来源:发表于2019-07-17 19:18 被阅读0次

函数调用过程: 通过 call 指令跳转到函数首地址处,执行函数内的指令代码,既然是地址,当然就可以使用指针变量进行存储。

用于保存函数首地址的指针变量被称为函数指针。函数指针的定义:

函数指针定义

函数指针的类型由返回值,参数信息、调用约定组成,它们决定了函数指针在函数调用过程中参数的传递、返回值信息以及如何平衡栈顶。

6 void _cdecl Show() {

7 printf("Show \r\n");

8 }

9 int  _stdcall ShowParam(int nShow) {

11 return nShow;

12 }

14 int main()

15 {

17 void(_cdecl *pShow)(void) = Show;

mov dword ptr ss:[ebp-8],functionpointer.36134D   函数名即为函数首地址,常量

18 pShow();

mov esi,esp

call dword ptr ss:[ebp-8]  获取指针变量地址,间接调用

19 Show();

call functionpointer.36134D  直接调用函数

21 int (_stdcall *pShowParam)(int) = ShowParam;

mov dword ptr ss:[ebp-14],functionpointer.36121C

22 int nRt = pShowParam(5);

mov esi,esp

push 5

call dword ptr ss:[ebp-14]

23 printf("pShowParam %d\r\n", nRt);

mov eax,dword ptr ss:[ebp-20]

push eax

push functionpointer.367B3C

call functionpointer.36132F

25     return 0;

26}

相关文章

  • 函数和指针

    函数指针: 指向函数的指针(是指针)指针函数:返回值是指针的函数(是函数)

  • 函数指针

    概念: 指针函数, 函数指针, 指针数组, 数组指针, 指向数组的指针, 指向函数指针数组的指针。

  • 指针

    一. 指针指向的是对象的地址//函数指针:指针指向函数//指针函数:函数返回指针 二.

  • C:函数指针的坑

    关于该死的函数指针和指针函数 先来个目录 常量指针、指针常量 数组指针、指针数组 函数指针、指针函数 1、先看第一...

  • C语言基础知识点

    函数指针与回调函数 1、函数指针:函数指针是指向函数的指针变量,以下实例声明了函数指针变量 p,指向函数 max:...

  • NDK启航篇——C语言基础(函数指针)

    昨天介绍了指针类型、空指针、指针运算,今天来写一下函数指针 函数指针 函数指针的定义:函数的返回值类型(函数指针的...

  • C语言基础---函数指针和回调函数

    版权声明:本文为小斑马伟原创文章,转载请注明出处!函数指针:函数指针 是指向函数的指针。指针函数:指针函数 函数...

  • Redis

    1.指针函数与函数指针 指针函数本质是指针,其返回值是指针。如 float *fun(); 函数指针,本质是指针。...

  • C++:函数指针 & 返回函数指针的函数

    函数指针 & 返回函数指针的函数 一、函数指针的声明和使用 声明一个函数指针,给它赋值并调用它指向的函数 函数指针...

  • 函数指针

    一.函数指针,指针指向函数 二.函数指针做参数

网友评论

      本文标题:函数指针

      本文链接:https://www.haomeiwen.com/subject/dsvclctx.html