请问下关于 函数指针参数传递的问题别人的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,) 第三个参数怎么传递呢?
}
{
aaaaaa(i,b,) 第三个参数怎么传递呢?
}
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);
}
这样就可以作为导出的函数了
其中的Callback函数由调用者实现吧,如果是aaaaaa这个模组实现的话,那导出的Api就没有并要需要这个参数了,内部可能会导出这样的函数:
void aaaaaa(int i, int b);
其中他得实现为:
void aaaaa(int i, int b)
{
call _aaaaaa(i, b, _callbackfunc);
}
使用 .DEF 文件。
修改导出名字。
void bbbbb(int i,int b,void (CALLBACK * srcbuf)(long la,long lb))
{
aaaaaa(i,b,srcbuf) 我直接这样传递就可以了吧?
}
直接传srcbuf即可。