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

Parse error in C code (.h file)

我正在尝试集成 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

这是汽车行业中一些根据 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 工具。

因此您需要使用该工具,或者如果您没有工具,则需要更详细地解释您尝试做什么以及为什么。