1

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

1 回答 1

8

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

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

于 2016-11-17T15:48:45.880 回答