Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/azure/13.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C Irq.h 82/26#if/#elif表达式中的语法错误_C - Fatal编程技术网

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

C Irq.h 82/26#if/#elif表达式中的语法错误,c,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_tab

我不太了解预处理器的条件,因此出现以下错误:

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) */

但我看不出/不明白出了什么问题…我认为这是因为您没有定义
\u TASKING\u C\u TRICORE\u
,因此无法计算该表达式。试试这样的东西

#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_) */

什么是
\u TASKING\u C\u TRICORE\u
?第82行是这样的:#如果(TASKING\u TRICORE==1U)最有可能是#TASKING\u TRICORE没有定义。TASKING\u TRICORE在其中一个*.C文件中定义得很好:#define#TASKING\u TRICORE\u TRICORE(1U)此定义必须在此文件中可见。尽管#如果已定义(TASKING\u TRICORE),错误始终存在因为它不是
TASKING\u C\u TRICORE
,而是
\u TASKING\u C\u TRICORE
?你的编译器是什么?尝试使用其他定义和比较。也许它只是不受支持。编译器是“任务”编译器。我以前在一些现存的DSP工作中使用过“任务”编译器。它分多个阶段构建,可能会出现问题。试试干净的发型吧?