亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

如下情況,希望給我解答詳細點,謝謝

如下情況,希望給我解答詳細點,謝謝

慕蓋茨4494581 2022-07-14 12:11:55
typedef unsigned long (__stdcall * THREADFUNC)(void *)是什么意思
查看完整描述

2 回答

?
SMILET

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);

查看完整回答
反對 回復 2022-07-18
?
波斯汪

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;
}


查看完整回答
反對 回復 2022-07-18
  • 2 回答
  • 0 關注
  • 136 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號