c 结构体内有pvoid 类型,存放函数指针
typedef struct _tagCOMMAND
{
char cmd[20];
PVOID Func;
char help[50];
}COMMAND,*PCOMMAND;
在这个结构体内,PVOID存放是函数指针,我该如何调用PVOID中的函数指针,我要达到的目的是
cmd是命令,比如说ADD,然后查询这个ADD命令,会对应的找到ADD的函数指针,那我该怎么样去调用该函数
int add(int x,int y)
{
return x+y;
} c cmd struct
[解决办法]
COMMAND.Func(a,b)
[解决办法]
COMMAND add;//已经定义好的add
(int (*)(int, int))add.Func(a, b);
[解决办法]
既然是函数指针那就直接
Func = add;
Func(x,y);
[解决办法]
用汇编,
push 参数
。。。
call 函数地址
[解决办法]
COMMAND input;
// 解析cmd得到命令名:cmd_name,确定参数个数,以及参数值:arg1,arg2,...
if(0 == strcmp(cmd_name, "ADD"))
{
input.Func(arg1,arg2);
}
else if(0 == strcmp(cmd_name, "其他命令"))
{
...
}
...