您好(再次)、
如果我在 sl_config.h 中选择这样的选项
#define FUNCING_PARAM_CHECK_ENABLED 1U /**<定义后会在函数条目中启用参数检查*/
#define FUNC_Entry_COND_CHECK_ENABLED 1U /**<定义时在函数条目中启用条目指令插入检查*/
#define FUNC_RESULT_LOG_ENABLED 0U /**<启用后将函数结果记录到预定缓冲区中*/
根据代码注释(和手册)、我只启用了检查、而不启用任何类型的日志记录...
我必须如何将 sl_log.c 文件包含到工程中、否则它不会编译。 当我添加它时(我不想添加它、因为我不想记录任何内容) 、我收到了编译器警告
sl_log.c
警告[Be006]:段/段"log_data"的可能冲突:C:\GIT\pesTO\Swm_DIAG\SWU_DIAG_SafeTI\sl_log.c 94
变量"_sl_Log_initialized @"log_data"(在"C:\GIT\pesTO\SwM_DIAG\SWU_DIAG_SafeTI\SL_log.c"的第94行声明)是一个已初始化变量
变量"_SL_Log_Error_Buffer @"log_data"(在"C:\GIT\pesTO\SwM_DIAG\SWU_DIAG_SafeTI\SL_log.c"的第262行声明)是一个零初始化变量(如此变量多1个)
这些函数调用应位于单独的标志后面:
SL_Log_Error (FUNC_ID_ST_STC、ERR_TYPE_Entry_CON、2U);
就像这个一样
#if (FUNC_RESULT_LOG_ENABLED = 1)
SL_Log_Result (FUNC_ID_ST_HET、testType、(SL_SelfTest_Result) RetVal、0U);
#endif
标志可能会是这样、但这肯定应该是积分器的决定是否会记录、这完全独立于参数/条件检查...
- FUNC功能性 PARAM_LOG_ENABLED
- FUNC_Entry_log_enabled