社区导航

 

搜索
查看: 4802|回复: 9

[求助] zigbee协议栈有一句代码不理解

[复制链接]

29

TA的帖子

0

TA的资源

一粒金砂(中级)

Rank: 2

发表于 2014-7-21 08:47 | 显示全部楼层 |阅读模式
  在看Zstack代码里面经常看到这样类代码,在函数参数前加一个void,下面举了一个例子
在uint16 GenericApp_ProcessEvent( uint8 task_id, uint16 events )函数里面就有这么一句代码
(void)task_id;  // Intentionally unreferenced parameter
不知道这是什么意思,请帮忙解答一下,谢谢。


回复

使用道具 举报

58

TA的帖子

1

TA的资源

一粒金砂(中级)

Rank: 2

发表于 2014-7-21 08:55 | 显示全部楼层
看注释就知道啦,故意引用的参数,目的是为了使任务和任务ID一起,好看


回复

使用道具 举报

2146

TA的帖子

24

TA的资源

五彩晶圆(高级)

Rank: 9Rank: 9Rank: 9

发表于 2014-7-21 09:17 | 显示全部楼层
调用一下,防止报警

点评

能讲详细的点吗?不太明白,给一些相关知识的网站也可以,谢谢  详情 回复 发表于 2014-7-21 09:50


回复

使用道具 举报

29

TA的帖子

0

TA的资源

一粒金砂(中级)

Rank: 2

 楼主| 发表于 2014-7-21 09:50 | 显示全部楼层
shower.xu 发表于 2014-7-21 09:17
调用一下,防止报警


能讲详细的点吗?不太明白,给一些相关知识的网站也可以,谢谢


回复

使用道具 举报

21

TA的帖子

0

TA的资源

一粒金砂(中级)

Rank: 2

发表于 2014-7-26 22:10 | 显示全部楼层
一般(void *)的是用于强制转换指针的意味,但是z-stack里的(void)有种解释是如上楼说的:避免警告,相当于task_id=task_id; 不编译成指令。(呵呵—但我用注释消去次句后,并无警告出现...)
1.PNG
2.PNG


回复

使用道具 举报

29

TA的帖子

0

TA的资源

一粒金砂(中级)

Rank: 2

发表于 2014-12-9 19:21 | 显示全部楼层
纠正一下楼上,这句是 故意不引用的参数,没有引用到,可能有其他指示作用


回复

使用道具 举报

20

TA的帖子

0

TA的资源

一粒金砂(中级)

Rank: 2

发表于 2014-12-30 17:21 | 显示全部楼层
如果编译报警等级选择很高,在函数的形参未在函数中使用时也会报警,编译时给你个warning,当然本身这个warning无伤大雅,你可以忽略他。但在一些强迫症程序员眼里,一个warning都不想留下的情况,就必须使用(void)param,来欺骗编译器有用到这个形参,事实上这句话不会产生任何代码的。
一句话: 消除编译告警!


回复

使用道具 举报

1777

TA的帖子

0

TA的资源

五彩晶圆(初级)

Rank: 7Rank: 7Rank: 7

发表于 2015-1-16 15:28 | 显示全部楼层
学习了


回复

使用道具 举报

1

TA的帖子

0

TA的资源

一粒金砂(初级)

Rank: 1

发表于 2015-3-4 12:49 | 显示全部楼层
学习了


回复

使用道具 举报

2

TA的帖子

0

TA的资源

一粒金砂(初级)

Rank: 1

发表于 2018-5-3 17:10 | 显示全部楼层


回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

关闭

站长推荐上一条 1/7 下一条

  • 论坛活动 E手掌握

    扫码关注
    EEWORLD 官方微信

  • EE福利  唾手可得

    扫码关注
    EE福利 唾手可得

Archiver|手机版|小黑屋|电子工程世界 ( 京ICP证 060456 )

GMT+8, 2020-5-27 04:43 , Processed in 0.346071 second(s), 32 queries , Gzip On, MemCache On.

快速回复 返回顶部 返回列表