求大神赐教CSR芯片ADK代码message定义中两个结构体定义理解???
请问哪位大神能够赐教下图两个结构体定义的理解? 是CSR8670芯片ADK中的代码,位于message_.h的头文件定义中,困扰小弟挺久的了。真心无法理解这两个结构体的定义怎么关联上的?跪求大神赐教!!!!!求大神帮忙!!!!
:):):):):):):):):):):):):)
Task就是一个结构指针,指向了TaskData结构而已
Task是指向结构体TaskData的指针,
TaskData结构体里的成员是个函数指针,此函数指针可以指向消息处理函数,用于关联(or绑定)xxxtask任务和xxxhandler函数。
消息传递和处理函数的参数长的一样,但里面的Task(理解的)含义不一样。
消息传递的Task最终指向处理函数本身,可以理解为函数调用(or跳转);
处理函数的Task是你具体定义的一个结构体参数,可以(自己增加)包含此任务的一些状态。
个人理解
★奥●义★ 发表于 2016-1-10 23:14
Task是指向结构体TaskData的指针,
TaskData结构体里的成员是个函数指针,此函数指针可以指向消息处理函数 ...
鸡生蛋,蛋生鸡。可以看看数据结构。
★奥●义★ 发表于 2016-1-10 23:14
Task是指向结构体TaskData的指针,
TaskData结构体里的成员是个函数指针,此函数指针可以指向消息处理函数 ...
你好,非常感谢你的解答,让我略微理解了一些。但是我还是有一些困惑:
1、如果Task是指向结构体TaskData的指针,那TaskData结构体指针的定义(Task)可以出现在TaskData结构体定义的前面吗?
2、根据你的描述,不知道我的理解是否正确:你是否觉得处理函数里面的Task是为了调用除自身处理函数以外的其他处理函数?而消息传递的Task只是单纯的调用某一个处理函数到消息队列中?
烦请帮忙解释,十分感谢!
★奥●义★ 发表于 2016-1-10 23:18
鸡生蛋,蛋生鸡。可以看看数据结构。
高手能否指点一、二?
到底先有鸡还是先有蛋,我也刚开始学,一直搞不懂啊
貌似他俩就是相互定义的