相同的MACRO定义,不同的输出

时间:2017-03-28 22:51:55

标签: c macros microcontroller

我有两个项目,一个来自微控制器制造商,一个来自我自己,用户生成的makefile。

以下代码完全适用于制造商的项目,但在我的项目中会抛出错误:error: expected identifier or '(' before '{' token

#define EZRADIODRV_TRANSMIT_PLUGIN_INIT_DEFAULT                                \
{                                           /* Packet TX                   */  \
  NULL,                                     /* CallBack                    */  \
  {                                         /* Packet length config        */  \
    ezradiodrvTransmitLenghtDefault,        /* Default length mode         */  \
    0,                                      /* Packet length               */  \
    {0,0,0,0,0}                             /* Field lengths               */  \
  },                                                                           \
  RADIO_CONFIGURATION_DATA_CHANNEL_NUMBER,  /* Channel                     */  \
  ezradiodrvPacketTypeNormal,               /* Packet type                 */  \
  0,                                        /* Packet ID                   */  \
},

#else //#if defined( EZRADIO_PLUGIN_TRANSMIT )
#define EZRADIODRV_TRANSMIT_PLUGIN_INIT_DEFAULT
#endif  //#if defined( EZRADIO_PLUGIN_TRANSMIT )

是否有某种编译器标志我可以设置为省略此行为?

0 个答案:

没有答案