想问一下,下面程序中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;
这句对自己赋值有什么意义?
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
无类型指针可以被强制转换成任何类型的指针。任何类型的指针也可以强制转换成无类型指针。至于这个指针到底指向什么,可以由你自己决定。
在很多程序中看到这句p_arg=p_arg;
这句只是为了避免在某些编译器中出现不必要的警告。 uC/OS-II 操作系统中经常出现这种情况。
(void)p_arg;表示暂时不用p_arg,防止编译器告警?
那么在很多程序中看到这句p_arg=p_arg;这一句有什么作用呢?
(void)p_arg;表示暂时不用p_arg,防止编译器告警?
这句p_arg=p_arg;这一句为什么能防止警告呢?
一周热门 更多>