#if /#elif表达式中的Irq.h 82/26语法错误

时间:2018-09-26 14:53:48

标签: c

我不太了解预处理器的条件,并且收到以下错误:

Irq.h 82/26 syntax error in #if/#elif expression

在代码的以下部分:

#if (_TASKING_C_TRICORE_ == 1U) //line 82

#ifndef IFX_INTERRUPT
#define IFX_INTERRUPT(isr, vectabNum, prio) \
                    void __interrupt(prio) __vector_table(vectabNum) isr(void)
#endif

#endif /* (_TASKING_C_TRICORE_ == 1U) */

但是我看不出/明白怎么了...

您是否知道此问题可能来自何处?

1 个答案:

答案 0 :(得分:1)

我认为这是因为您没有定义_TASKING_C_TRICORE_,所以它无法计算该表达式。尝试这样的事情;

#if defined (_TASKING_C_TRICORE_)
#if (_TASKING_C_TRICORE_ == 1U) //line 82

#ifndef IFX_INTERRUPT
#define IFX_INTERRUPT(isr, vectabNum, prio) \
                    void __interrupt(prio) __vector_table(vectabNum) isr(void)
#endif

#endif /* (_TASKING_C_TRICORE_ == 1U) */
#endif /* defined(_TASKING_C_TRICORE_) */