首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >makecontext函数中的指针说明

makecontext函数中的指针说明
EN

Stack Overflow用户
提问于 2011-10-24 00:10:49
回答 1查看 778关注 0票数 0

作为我的任务的一部分,我已经实现了一个用户线程库。我不理解makecontext函数:

代码语言:javascript
运行
复制
makecontext(&(mainthread->threadctx),(void(*)(void))start_funct,1,args)

(void(*)(void))start_funct到底是什么意思?为什么我要这样写呢?我不能把它写成

代码语言:javascript
运行
复制
makecontext(&(mainthread->threadctx),start_funct,1,args) ?

请耐心等待,我还不习惯使用指针:)

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2011-10-24 00:41:24

void(*)(void)的意思是“指向不带参数并返回void的函数的指针”。

因此,(void(*)(void))start_functstart_funct (我们可以假定它是某种函数指针)`转换为上述类型。(有一个very useful online tool可以帮助您完成这项工作,直到您获得更舒适的阅读声明)。

你必须这样写,因为start_funct的签名不是void start_funct(void),所以需要强制转换。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/7867338

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档