在跟踪free.cTOS的task.c源代码时,我看到一个名为 portTASK_FUNCTION 的函数。其代码如下
static portTASK_FUNCTION( prvIdleTask, pvParameters )
{
/* Stop warnings. */
( void ) pvParameters; //<--what for??
for( ;; )
{
do something
}
}
我不明白 (void)pvParameters 的含义,希望有人可以帮助我,thx
顺便说一句,这个函数的args类型没有声明,为什么它可以工作?答案 0 :(得分:2)
此代码由评论组成:
/* Stop warnings. */
优化器将删除您提到的代码。但是函数中有未使用的参数 - pvParameters
。并编写此代码以关闭编译器。它什么都不做。
答案 1 :(得分:1)
portTASK_FUNCTION是 NOT 一个函数,它是一个宏。如果我谷歌它我得到的第一个链接在这里:http://www.freertos.org/implementing-a-FreeRTOS-task.html - 在这种情况下prvIdleTask是函数。除了链接上提到的一个模糊的情况之外,portTASK_FUNCTION宏已经过时(不是必需的),但在主内核代码中用于可移植性。