完善资料让更多小伙伴认识你,还能领取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;这一句为什么能防止警告呢? |
|
|
|
从这个角度看,效果一样,当然,有的编译器可以直接优化掉这个无意义的语句 |
|
|
|
你正在撰写答案
如果你是对答案或其他答案精选点评或询问,请使用“评论”功能。
1330 浏览 1 评论
AD7686芯片不传输数据给STM32,但是手按住就会有数据。
1263 浏览 3 评论
2430 浏览 0 评论
如何解决MPU-9250与STM32通讯时,出现HAL_ERROR = 0x01U
1416 浏览 1 评论
hal库中i2c卡死在HAL_I2C_Master_Transmit
1847 浏览 1 评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-11-30 17:54 , Processed in 0.551646 second(s), Total 53, Slave 46 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号