我正在尝试集成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 */
Run Code Online (Sandbox Code Playgroud)
宏在另一个头文件中定义
#define FLS_CANCEL_API [!IF "FlsGeneral/FlsCancelApi"!](STD_ON)[!ELSE!](STD_OFF)[!ENDIF!]
Run Code Online (Sandbox Code Playgroud)
和
#define STD_ON 0x01
Run Code Online (Sandbox Code Playgroud)
这是根据汽车行业的Autosar标准编写的一些驱动程序的代码.头文件包含:
#define FLS_CANCEL_API [!IF "FlsGeneral/FlsCancelApi"!](STD_ON)[!ELSE!](STD_OFF)[!ENDIF!]
Run Code Online (Sandbox Code Playgroud)
实际上不是头文件,它是头文件的模板.工具采用Autosar ECU描述和那些模板来生成实际代码.我认为您的文件是模板Fls_Cfg.h,因此实际Fls_Cfg.h将从该模板生成.我不完全确定基于模板,但我认为它适用于EB tresos Studio工具.
因此,您需要使用该工具,或者如果您没有工具,则需要更详细地解释您要执行的操作以及原因.