C代码中的解析错误(.h文件)

时间:2016-11-17 15:06:15

标签: c autosar

我正在尝试集成C代码。在构建堆栈时,我从所有文件中得到解析错误,其中包含了这个.h文件

#if( FLS_CANCEL_API == STD_ON )   // Parse error appears here
extern FUNC( void, FLS_CODE ) Fls_Cancel( void );
#endif    /* FLS_CANCEL_API == STD_ON */

#if( FLS_GET_STATUS_API == STD_ON ) // and here
extern FUNC( MemIf_StatusType, FLS_CODE ) Fls_GetStatus( void );
#endif    /* FLS_GET_STATUS_API == STD_ON */

修改

宏在另一个头文件中定义

#define FLS_CANCEL_API              [!IF "FlsGeneral/FlsCancelApi"!](STD_ON)[!ELSE!](STD_OFF)[!ENDIF!]

#define STD_ON      0x01

1 个答案:

答案 0 :(得分:7)

这是根据汽车行业的Autosar标准编写的一些驱动程序的代码。头文件包含:

#define FLS_CANCEL_API              [!IF "FlsGeneral/FlsCancelApi"!](STD_ON)[!ELSE!](STD_OFF)[!ENDIF!]

实际上不是头文件,它是头文件的模板。工具采用Autosar ECU描述和那些模板来生成实际代码。我认为您的文件是Fls_Cfg.h的模板,因此将从该模板生成实际的Fls_Cfg.h。我不完全确定基于模板,但我认为它适用于 EB tresos Studio 工具。

所以你需要使用那个工具,或者如果你没有工具,你需要更详细地解释你想要做什么以及为什么。