求大神指点 驱动问题

sunyaodong330330 2012-06-28 09:13:14
本人是vxworks新手,在看驱动程序是出现两处代码不理解求大神给指点一下:
第一处是:return((int)pxxDevHdr);pxxDevHdr是一个设备标示符结构体变量,我是想问这个结构体前面加上int限定之后其值是应该怎么看。
还有:SIO_CHAN * pSioChan;
xx_CHAN * pxxChan=(xx_CHAN *)pSioChan;
这个算是结构体变量类型的转换吗?求大神给解释。
...全文
864 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
viphj 2012-10-30
  • 打赏
  • 举报
回复
very good
pishuli 2012-10-08
  • 打赏
  • 举报
回复
第一个,应该只是返回一个地址值吧,就把它看做一个地址
第二个,xx_CHAN * pxxChan=(xx_CHAN *)pSioChan;
其实就是一个指针类型的强制转换,只是这个指针指向一个结构体而已。和结构体类型转换赋值还是有区别的,结构体强制类型转换之后赋值会把整个结构体长度全拷贝,而这个呢,只是拷贝了4个字节宽度的地址值。
stevewang1979 2012-07-24
  • 打赏
  • 举报
回复
1.return((int)pxxDevHdr)是因为函数是INT型的,要强制转换为INT;
2.xx_CHAN * pxxChan=(xx_CHAN *)pSioChan是因为要将pSioChan赋值给pxxChan,而pxxChan是xx_CHAN *类型的,所以强制转换为xx_CHAN*。
woshi_ziyu 2012-06-29
  • 打赏
  • 举报
回复
[Quote=引用楼主 的回复:]
本人是vxworks新手,在看驱动程序是出现两处代码不理解求大神给指点一下:
第一处是:return((int)pxxDevHdr);pxxDevHdr是一个设备标示符结构体变量,我是想问这个结构体前面加上int限定之后其值是应该怎么看。
还有:SIO_CHAN * pSioChan;
xx_CHAN * pxxChan=(xx_CHAN *)pSioChan;
这个算是结构体变量类型的转……
[/Quote]
属于强制类型转换

2,179

社区成员

发帖
与我相关
我的任务
社区描述
xworks是美国 Wind River System 公司( 以下简称风河公司 ,即 WRS 公司)推出的一个实时操作系统。
社区管理员
  • VxWorks开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧