1、
#define PRIVILEGED_FUNCTION
````````````````
````````````````
#if( configSUPPORT_STATIC_ALLOCATION == 1 )
QueueHandle_t xQueueGenericCreateStatic( const UBaseType_t uxQueueLength, const UBaseType_t uxItemSize, uint8_t *pucQueueStorage, StaticQueue_t *pxStaticQueue, const uint8_t ucQueueType ) PRIVILEGED_FUNCTION;
#endif
中间的这个xQueueGenericCreateStatic应该是个函数声明吧(QueueHandle_t就是一个函数返回值类型)?为什么声明最后加一个PRIVILEGED_FUNCTION?没见过这种,请问这算神马?
2、
一个宏定义成一个函数
#define xQueueCreateStatic( uxQueueLength, uxItemSize, pucQueueStorage, pxQueueBuffer ) xQueueGenericCreateStatic( ( uxQueueLength ), ( uxItemSize ), ( pucQueueStorage ), ( pxQueueBuffer ), ( queueQUEUE_TYPE_BASE ) )
请问后面这个函数每一个参数必须要用括号括起来吗?感觉是没必要的。
3、
#ifndef mtCOVERAGE_TEST_MARKER
#define mtCOVERAGE_TEST_MARKER() //这里就是定义了一个空的东西,长得像个函数似的
#endif
·············
·············但是为什么程序里会多次出现这个空的宏定义呢?请问这样有什么作用吗?
比如
else
{
mtCOVERAGE_TEST_MARKER();
}
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
4、#define listLIST_IS_EMPTY( pxList ) ( ( BaseType_t ) ( ( pxList )->uxNumberOfItems == ( UBaseType_t ) 0 ) ) 我只能看出来这是个宏定义,请问这里会有“返回值”吗?比如 if ( listLIST_IS_EMPTY( &某某 ) ==0 ) 这个宏定义的值难道是 ( pxList )->uxNumberOfItems ? 那不就一定是0吗,为什么还要有这个if判断?
二)不是必要的
三)知道就不多说了
四)这宏只返回一个Bool值, 不用if怎么行? 反倒是宏之后的==0是可以不要
一周热门 更多>