几个关于C代码的问题

2019-07-21 08:47发布

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();
                }

友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。