+ -
当前位置:首页 → 问答吧 → 请问下关于 函数指针参数传递的问题

请问下关于 函数指针参数传递的问题

时间:2011-12-22

来源:互联网

请问下关于 函数指针参数传递的问题

别人的SDK。开发包里面有个 这养的函数 

void aaaaaa(int i,int b,void (CALLBACK * srcbuf)(long la,long lb));

我现在要把这些导出的函数都封装起来

void bbbbb(int i,int b,void (CALLBACK * srcbuf)(long la,long lb))
{
  aaaaaa(i,b,) 第三个参数怎么传递呢?  
}

作者: gfgdfgrgrgse   发布时间: 2011-12-22

你实现函数:
void OtherBuf(long la, long lb)
{
  //do something...
}


void bbbbb(int i,int b,void (CALLBACK * srcbuf)(long la,long lb))
{
  aaaaaa(i, b, OtherBuf);  
}

作者: yuucyf   发布时间: 2011-12-22

直接传啊
传全局函数或类的静态成员函数

作者: ouyh12345   发布时间: 2011-12-22

我封装而已,不是 to do something 我不实现,由上层实现,我知道怎么用,但是怎么封装?我不想改动任何东西!

作者: gfgdfgrgrgse   发布时间: 2011-12-22

void aaaaaa(int i,int b,void (CALLBACK * srcbuf)(long la,long lb));
这样就可以作为导出的函数了

作者: ouyh12345   发布时间: 2011-12-22

void aaaaaa(int i,int b,void (CALLBACK * srcbuf)(long la,long lb));
其中的Callback函数由调用者实现吧,如果是aaaaaa这个模组实现的话,那导出的Api就没有并要需要这个参数了,内部可能会导出这样的函数:
void aaaaaa(int i, int b);
其中他得实现为:
void aaaaa(int i, int b)
{
  call _aaaaaa(i, b, _callbackfunc);
}

作者: yuucyf   发布时间: 2011-12-22

如果什么都不改变,仅仅改变导出符号名字。
使用 .DEF 文件。
修改导出名字。

作者: Saleayas   发布时间: 2011-12-22