完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
扫一扫,分享给好友
|
想问一下,下面程序中void *p_arg和(void)p_arg是一个什么样的东西
* 函数名:Task_LED * 描述 : LED流水灯 * 输入 :无 * 输出 : 无 */ void Task_LED(void *p_arg) { OS_ERR err; (void)p_arg; // 'p_arg' 并没有用到,防止编译器提示警告 while (1) { LED1( ON ); OStimeDlyHMSM(0, 0,1,0,OS_OPT_TIME_HMSM_STRICT,&err); LED1( OFF); LED2( ON ); OSTimeDlyHMSM(0, 0,1,0,OS_OPT_TIME_HMSM_STRICT,&err); LED2( OFF); LED3( ON ); OSTimeDlyHMSM(0, 0,1,0,OS_OPT_TIME_HMSM_STRICT,&err); LED3( OFF); } } void *p_arg是无类型指针?也就是任意类型指针吗? 那(void)p_arg; 又是什么意思? 在很多程序中看到这句p_arg=p_arg; 这句对自己赋值有什么意义? |
|
相关推荐
6个回答
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
void *p_arg是无类型指针?也就是任意类型指针吗?
无类型指针可以被强制转换成任何类型的指针。任何类型的指针也可以强制转换成无类型指针。至于这个指针到底指向什么,可以由你自己决定。 在很多程序中看到这句p_arg=p_arg; 这句只是为了避免在某些编译器中出现不必要的警告。 uC/OS-II 操作系统中经常出现这种情况。 |
|
|
|
|
|
(void)p_arg;表示暂时不用p_arg,防止编译器告警? 那么在很多程序中看到这句p_arg=p_arg;这一句有什么作用呢? |
|
|
|
|
friend0720 发表于 2016-3-9 22:49 (void)p_arg;表示暂时不用p_arg,防止编译器告警? 这句p_arg=p_arg;这一句为什么能防止警告呢? |
|
|
|
|
|
从这个角度看,效果一样,当然,有的编译器可以直接优化掉这个无意义的语句 |
|
|
|
|
你正在撰写答案
如果你是对答案或其他答案精选点评或询问,请使用“评论”功能。
STM32F405驱动DS1302时钟模块,输出时间错乱该怎么排查?
2797 浏览 2 评论
stm32f405rgt6驱动DS1302ZN出现时间错乱问题
2403 浏览 1 评论
stm32用fsmc读取ad7606采集数据,数据不变,只有开发版复位才更新数据
2276 浏览 0 评论
2388 浏览 1 评论
1637 浏览 1 评论
/9
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2025-12-2 01:50 , Processed in 0.584643 second(s), Total 55, Slave 48 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191

淘帖
1941