2 回答

TA贡献1796条经验 获得超4个赞
这是一个函数类型THREADFUNC定义, __stdcall是函数的调用方式,函数的参数为void*类型的变量,函数返回值为unsigned long.
用法
加入有个函数定义为
unsigned long __stdcall calcLen(void * pointer)
{
unsigned long i = 0;
while (*(pointer+i++)!= 0);
return i;
}
THREADFUNC getlen = calcLen;
char * str = "hello Zhu meimei!";
unsigned long str_len = (*getlen)(str);

TA贡献1811条经验 获得超4个赞
自定义函数指针类型名为THREADFUNC,可指向如下函数
返回值为unsigned long,参数类型为void*,调用约定为__stdcall
举个使用的例子
typedef unsigned long (__stdcall * THREADFUNC)(void *);
unsigned long __stdcall myfunc(void *param)
{
*((int*)param)=1234;
return 0;
}
int main()
{
THREADFUNC pf1 = &myfunc;
void *param = malloc(sizeof(int));
(*pf1)(param);/* 相当于myfunc(param); */
return 0;
}
添加回答
举报