我正在尝试集成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
答案 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 工具。
所以你需要使用那个工具,或者如果你没有工具,你需要更详细地解释你想要做什么以及为什么。