猿问
如下情况,希望给我解答详细点,谢谢
typedef unsigned long (__stdcall * THREADFUNC)(void *)是什么意思
慕盖茨4494581
浏览 121
回答 2
2回答
SMILET
这是一个函数类型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);
0
0
0
波斯汪
自定义函数指针类型名为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;}
0
0
0
随时随地看视频
慕课网APP
相关分类
Java
API
API接口成功状态码定义
2 回答
我要回答